暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

非关系型数据库:优劣势

原创 墨天轮福利君 2022-11-15
1578

当数据集的数据结构多样化,关系型数据库中的表格很难表达时,可以根据数据特征和应 用需求,选择将信息存储在合适的非关系型数据类型中。能够在这些多样的数据类型上,提供 存储和检索数据能力的数据库,被称之为非关系型数据库,或者NoSQL数据库。NoSQL数据 库是非关系型数据库的统称,其中 “No”指的是“Not Only”,表示不止于SQL,NoSQL数据库采用不同于关系数据“行列”组织的数据模型。对比关系型数据库,NoSQL采用更简单的设计方 式,更灵活的数据模型,在设计上有着更好的扩展能力,这使得NoSQL数据库能更有效地应对

数据负载超过单个服务器承载能力的应用场景。总结来说,NoSQL数据库的流行主要有如下原因:NoSQL 数据库无需预先指定数据的模式(schema);NoSQL数据库可以混合支持多种数据类型;NoSQL数据库有更好的可扩展性和数据可用性。
整体来说,其优势有:

  1. 高可用性:数据结构简单,查询语言更为灵活,针对特定结构的操作可以被快速执行,返回结果速度快、延迟低。
  2. 高可扩展性:分区容忍性高,数据结构不存在复杂关系,因而更易于”水平”扩展到多台机器,能够提供高吞吐量的服务。

非关系型数据库,根据数据类型划分,主要包括:键值数据库、文档数据库、列簇式数据
库、图数据库、时序数据库等。

但其劣势也很明显:无法处理ACID事务,仅能保证最终一致性:对数据的修改“最终”传播到所有节点(通常在几毫秒内),因此对数据的查询可能不会立即返回更新的数据或可能导致 读取数据不准确,称为陈旧读取的问题 [4]。 此外,一些NoSQL系统可能会出现写入丢失和其他形式的数据丢失,可根据日志内容,在必要时恢复真实数据值。

NoSQL 数据库天然运行在分布式环境下,因此需要考虑分布式下的数据一致性问题,这使得NoSQL的数据一致性的要求与传统关系数据库相比发生了很大的变化。传统关系型数据库支持事务ACID强一致性。而在分布式环境下,CAP理论表明一致性、可用性和分区容错性三者 不可兼得。为了保障分布式环境下的数据可用性,NoSQL数据库对数据一致性的要求做了分类和宽松化处理,有了BASE弱一致性理论。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论