关系型数据库非关系型数据库对比

网友投稿 935 2022-05-28

一、         关系型数据库

1、  概述:

关系型数据库,是指采用了关系模型来组织数据的数据库。简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。

2、优点:

(1)容易理解:二维表结构是非常贴近逻辑世界的一个概念,关系模型相对网状、层次等其他模型来说更容易理解。

(2)使用方便:通用的SQL语言使得操作关系型数据库非常方便。

(3)易于维护:丰富的完整性(实体完整性、参照完整性和用户定义的完整性)大大减低了数据冗余和数据不一致的概率。

3、缺点:

(1)高并发读写能力差

对于传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。

(2)海量数据的高效率读写能力差

对于关系型数据库来说,在一张包含海量数据的表中查询,效率低下。

(3)高扩展性和可用性有待提高

数据库横向扩展能力差。

其他特点:

(1)事务一致性:两个人看到同一好友的数据更新时间是一致的,如银行系统。为了提供该能力,限制了关系型数据库的读写能力。

(2)读写实时性:刚插入的数据,立即就能查询到。

二、非关系型数据库

关系型数据库与非关系型数据库对比

适用于超大规模和高并发的场景。主要分为键值存储数据库、列存储数据库、文档型数据库、图形数据库,其特点对比如下:

一般特点:

(1)不需要预定义模式:不需要事先定义数据模式,预定义表结构。数据中的每条记录都可能有不同的属性和格式。当插入数据时,并不需要预先定义它们的模式。

(2)无共享架构:相对于将所有数据存储的存储区域网络中的全共享架构。NoSQL往往将数据划分后存储在各个本地服务器上。因为从本地磁盘读取数据的性能往往好于通过网络传输读取数据的性能,从而提高了系统的性能。

(3)弹性可扩展:可以在系统运行的时候,动态增加或者删除结点。不需要停机维护,数据可以自动迁移。

(4)分区:相对于将数据存放于同一个节点,NoSQL数据库需要将数据进行分区,将记录分散在多个节点上面。并且通常分区的同时还要做复制。这样既提高了并行性能,又能保证没有单点失效的问题。

(5)异步复制:和RAID存储系统不同的是,NoSQL中的复制,往往是基于日志的异步复制。这样,数据就可以尽快地写入一个节点,而不会被网络传输引起迟延。缺点是并不总是能保证一致性,这样的方式在出现故障的时候,可能会丢失少量的数据。

(6)BASE:相对于事务严格的ACID特性,NoSQL数据库保证的是BASE特性。BASE是最终一致性和软事务。

NoSQL数据库并没有一个统一的架构,两种NoSQL数据库之间的不同,甚至远远超过两种关系型数据库的不同。可以说,NoSQL各有所长,成功的NoSQL必然特别适用于某些场合或者某些应用,在这些场合中会远远胜过关系型数据库和其他的NoSQL。

NoSQL 存储

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【云驻共创】像使用 Docker 一样使用 iSulad 管理容器
下一篇:拒绝从入门到放弃_《鸟哥的 Linux 私房菜 — 基础学习篇(第三版)》必读目录
相关文章