您好,欢迎来到要发发知识网。
搜索
您的当前位置:首页正文

关系型数据库的瓶颈

2023-11-11 来源:要发发知识网

    非关系型数据库提出另一种理念,例如,以键值对存储,且结构不固定,每一个元组可以有不一样的字段,每个元组可以根据需要增加一些自己的键值对,这样就不会局限于固定的结构,可以减少一些时间和空间的开销。使用这种方式,用户可以根据需要去添加自己需要的字段,这样,为了获取用户的不同信息,不需要像关系型数据库中,要对多表进行关联查询。仅需要根据id取出相应的value就可以完成查询。但非关系型数据库由于很少的约束,他也不能够提供像SQL所提供的where这种对于字段属性值情况的查询。并且难以体现设计的完整性。他只适合存储一些较为简单的数据,对于需要进行较复杂查询的数据,SQL数据库显的更为合适。

4. 关系型数据库 V.S. 非关系型数据库      关系型数据库的最大特点就是事务的一致性:传统的关系型数据库读写操作都是事务的,具有ACID的特点,这个特性使得关系型数据库可以用于几乎所有对一致性有要求的系统中,如典型的银行系统。      但是,在网页应用中,尤其是SNS应用中,一致性却不是显得那么重要,用户A看到的内容和用户B看到同一用户C内容更新不一致是可以容忍的,或者说,两个人看到同一好友的数据更新的时间差那么几秒是可以容忍的,因此,关系型数据库的最大特点在这里已经无用武之地,起码不是那么重要了。      相反地,关系型数据库为了维护一致性所付出的巨大代价就是其读写性能比较差,而像微博、facebook这类SNS的应用,对并发读写能力要求极高,关系型数据库已经无法应付(在读方面,传统上为了克服关系型数据库缺陷,提高性能,都是增加一级memcache来静态化网页,而在SNS中,变化太快,memchache已经无能为力了),因此,必须用新的一种数据结构存储来代替关系数据库。      关系数据库的另一个特点就是其具有固定的表结构,因此,其扩展性极差,而在SNS中,系统的升级,功能的增加,往往意味着数据结构巨大变动,这一点关系型数据库也难以应付,需要新的结构化数据存储。      于是,非关系型数据库应运而生,由于不可能用一种数据结构化存储应付所有的新的需求,因此,非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合。

5. 非关系型数据库分类     由于非关系型数据库本身天然的多样性,以及出现的时间较短,因此,不想关系型数据库,有几种数据库能够一统江山,非关系型数据库非常多,并且大部分都是开源的。      这些数据库中,其实实现大部分都比较简单,除了一些共性外,很大一部分都是针对某些特定的应用需求出现的,因此,对于该类应用,具有极高的性能。依据结构化方法以及应用场合的不同,主要分为以下几类:面向高性能并发读写的key-value数据库:key-value数据库的主要特点即使具有极高的并发读写性能,Redis,Tokyo Cabinet,Flare就是这类的代表面向海量数据访问的面向文档数据库:这类数据库的特点是,可以在海量的数据中快速的查询数据,典型代表为MongoDB以及CouchDB面向可扩展性的分布式数据库:这类数据库想解决的问题就是传统数据库存在可扩展性上的缺陷,这类数据库可以适应数据量的增加以及数据结构的变化。

 

本文摘抄自网络。

原文标题:从关系型数据库到非关系型数据库

小编还为您整理了以下内容,可能对您也有帮助:

关系型数据库的局限性有哪些

关系型数据库的局限性如下:

1、无法引用对象。

在关系型数据库中,通过SQL语言或视图可以表达属性值为对象的这个意思。但数据库本身并不能表达出来,需要人为设定,如果数据库设计者忘记了当初的设定,那数据库里的内容就失去含义了。我们需要的是一个本身能进行更复杂表达的数据组织方法。

如果是在编程语言中,一个对象可以将其地址赋给变量,能够直接描述对象与对象的关系。

2、相对固定的关系。

作为实体,可以设置不同的二维表结构,可以存放各种各样的实体,但关系的表达取决于设计者的认识。也就是说,是人为设定的关系。

关系数据库需要SQL或视图(本质也是SQL)来定义和描述关系,不能随需要变化。

3、相对固定的概念分类。

当变化发生时,数据库的一部分就只能重新设计,一个表需要拆分为两个表。这种变动会导致一系列的变化,程序、界面、文档、教程。

关系数据库对世界认知的相对固定性与世界的动态性有些不合时宜。如此说来,以JavaScript为代表的动态脚本语言就解决了这一问题,可以随着世界的变化随意定义属性。

扩展资料:

关系型数据库和非关系型数据库的区别:

1、数据存储方式不同。

关系型和非关系型数据库的主要差异是数据存储的方式。关系型数据天然就是表格式的,因此存储在数据表的行和列中。

与其相反,非关系型数据不适合存储在数据表的行和列中,而是大块组合在一起。非关系型数据通常存储在数据集中,就像文档、键值对或者图结构。

2、扩展方式不同。

要支持更多并发量,SQL数据库是纵向扩展,也就是说提高处理能力,使用速度更快速的计算机,这样处理相同的数据集就更快了。

虽然SQL数据库有很大扩展空间,但最终肯定会达到纵向扩展的上限。而NoSQL数据库是横向扩展的。非关系型数据存储天然就是分布式的,NoSQL数据库的扩展可以通过给资源池添加更多普通的数据库服务器(节点)来分担负载。

3、对事务性的支持不同。

SQL数据库支持对事务原子性细粒度控制,并且易于回滚事务。

虽然NoSQL数据库也可以使用事务操作,但稳定性方面没法和关系型数据库比较,所以其价值是在操作的扩展性和大数据量处理方面。

参考资料来源:

百度百科-非关系型数据库

百度百科-关系型数据库

请分析对于关系型数据库来说,为什么纵向扩展会遇到瓶颈?横向扩展需要解决何种问题

纵向扩展指的是增加单个数据库服务器的性能,这包括增加内存、磁盘空间、CPU 等资源。这种扩展方式会遇到瓶颈,是因为单台数据库服务器的性能有限,总有一天会达到极限。

横向扩展指的是增加多台数据库服务器,将数据分布在多台服务器上。这种扩展方式需要解决如何在多台服务器之间进行数据同步、如何确保数据的一致性、如何处理负载均衡等问题。横向扩展能够提高数据库的性能和可扩展性,但也带来了更多的复杂性。

传统的关系型数据库面临的挑战有哪些?

挑战一:数据来源错综复杂

丰富的数据源是大数据产业发展的前提。而我国数字化的数据资源总量远远低于美欧,每年新增数据量仅为美国的7%,欧洲的12%,其中和制造业的数据资源积累远远落后于国外。就已有有限的数据资源来说,还存在标准化、准确性、完整性低,利用价值不高的情况,这大大降低了数据的价值

挑战二:数据挖掘分析模型建立

步入大数据时代,人们纷纷在谈论大数据,似乎这已经演化为新的潮流趋势。数据比以往任何时候都更加根植于我们生活中的每个角落。我们试图用数据去解决问题、改善福利,并且促成新的经济繁荣

挑战三:数据开放与隐私的权衡

数据应用的前提是数据开放,这已经是共识。有专业人士指出,中国人口居世界首位,但2010年中国新存储的数据为250PB,仅为日本的60%和北美的7%。目前我国一些部门和机构拥有大量数据但宁愿自己不用也不愿提供给有关部门共享,导致信息不完整或重复投资。2012年中国的数据存储量达到64EB,其中55%的数据需要一定程度的保护,然而目前只有不到一半的数据得到保护

Copyright © 2019- net188.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务