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

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

ID:43843924

大小:173.09 KB

页数:11页

时间:2019-10-15

关系型和非关系型数据库的区别_第1页
关系型和非关系型数据库的区别_第2页
关系型和非关系型数据库的区别_第3页
关系型和非关系型数据库的区别_第4页
关系型和非关系型数据库的区别_第5页
资源描述:

《关系型和非关系型数据库的区别》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、关系型和非关系型数据库的区别当前主流的关系型数据库有Oracle、DB2、MicrosoftSQLServer、MicrosoftAccess、MySQL等。非关系型数据库有NoSql、Cloudant。nosql和关系型数据库比较?优点:1)成本:nosql数据库简单易部署,基本都是开源软件,不需要像使用oracle那样花费大量成本购买使用,相比关系型数据库价格便宜。2)查询速度:nosql数据库将数据存储于缓存之中,关系型数据库将数据存储在硬盘中,自然查询速度远不及nosql数据库。3)存储数据的格式:nosql的存储格式是key,va

2、lue形式、文档形式、图片形式等等,所以可以存储基础类型以及对象或者是集合等各种格式,而数据库则只支持基础类型。4)扩展性:关系型数据库有类似join这样的多表查询机制的限制导致扩展很艰难。缺点:1)维护的工具和资料有限,因为nosql是属于新的技术,不能和关系型数据库10几年的技术同日而语。2)不提供对sql的支持,如果不支持sql这样的工业标准,将产生一定用户的学习和使用成本。3)不提供关系型数据库对事物的处理。非关系型数据库的优势:1.性能NOSQL是基于键值对的,可以想象成表中的主键和值的对应关系,而且不需要经过SQL层的解析,所以

3、性能非常高。2.可扩展性同样也是因为基于键值对,数据之间没有耦合性,所以非常容易水平扩展。关系型数据库的优势:1.复杂查询可以用SQL语句方便的在一个表以及多个表之间做非常复杂的数据查询。2.事务支持使得对于安全性能很高的数据访问要求得以实现。对于这两类数据库,对方的优势就是自己的弱势,反之亦然。关系型数据库把所有的数据都通过行和列的二元表现形式表示出来。 关系型数据库的优势:1.保持数据的一致性(事务处理)2.由于以标准化为前提,数据更新的开销很小(相同的字段基本上都只有一处)3.可以进行Join等复杂查询其中能够保持数据的一致性是关系型

4、数据库的最大优势。 关系型数据库的不足:不擅长的处理1.大量数据的写入处理2.为有数据更新的表做索引或表结构(schema)变更3.字段不固定时应用4.对简单查询需要快速返回结果的处理--大量数据的写入处理读写集中在一个数据库上让数据库不堪重负,大部分网站已使用主从复制技术实现读写分离,以提高读写性能和读库的可扩展性。所以在进行大量数据操作时,会使用数据库主从模式。数据的写入由主数据库负责,数据的读入由从数据库负责,可以比较简单地通过增加从数据库来实现规模化,但是数据的写入却完全没有简单的方法来解决规模化问题。第一,要想将数据的写入规模化,

5、可以考虑把主数据库从一台增加到两台,作为互相关联复制的二元主数据库使用,确实这样可以把每台主数据库的负荷减少一半,但是更新处理会发生冲突,可能会造成数据的不一致,为了避免这样的问题,需要把对每个表的请求分别分配给合适的主数据库来处理。第二,可以考虑把数据库分割开来,分别放在不同的数据库服务器上,比如将不同的表放在不同的数据库服务器上,数据库分割可以减少每台数据库服务器上的数据量,以便减少硬盘IO的输入、输出处理,实现内存上的高速处理。但是由于分别存储字不同服务器上的表之间无法进行Join处理,数据库分割的时候就需要预先考虑这些问题,数据库分

6、割之后,如果一定要进行Join处理,就必须要在程序中进行关联,这是非常困难的。  --为有数据更新的表做索引或表结构变更在使用关系型数据库时,为了加快查询速度需要创建索引,为了增加必要的字段就一定要改变表结构,为了进行这些处理,需要对表进行共享锁定,这期间数据变更、更新、插入、删除等都是无法进行的。如果需要进行一些耗时操作,例如为数据量比较大的表创建索引或是变更其表结构,就需要特别注意,长时间内数据可能无法进行更新。 --字段不固定时的应用如果字段不固定,利用关系型数据库也是比较困难的,有人会说,需要的时候加个字段就可以了,这样的方法也不是

7、不可以,但在实际运用中每次都进行反复的表结构变更是非常痛苦的。你也可以预先设定大量的预备字段,但这样的话,时间一长很容易弄不清除字段和数据的对应状态,即哪个字段保存有哪些数据。--对简单查询需要快速返回结果的处理 (这里的“简单”指的是没有复杂的查询条件)这一点称不上是缺点,但不管怎样,关系型数据库并不擅长对简单的查询快速返回结果,因为关系型数据库是使用专门的sql语言进行数据读取的,它需要对sql与越南进行解析,同时还有对表的锁定和解锁等这样的额外开销,这里并不是说关系型数据库的速度太慢,而只是想告诉大家若希望对简单查询进行高速处理,则没

8、有必要非使用关系型数据库不可。---------------------------NoSQL数据库关系型数据库应用广泛,能进行事务处理和表连接等复杂查询。相对地,NoSQL数据

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。