阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

NoSQL丛林必要的导游手册

36次阅读
没有评论

共计 1674 个字符,预计需要花费 5 分钟才能阅读完成。

导读作为支持标准关系模型的传统 SQL 数据库的替代品,NoSQL 系统支持标准 SQL 以外的数据模型和查询语言。

NoSQL 丛林必要的导游手册

Nosql 数据库

NoSQL 这个词,意思是 “ 不仅仅是 SQL”,最早出现在 20 世纪 90 年代末,指的是为了解决网络和云数据管理的要求,克服传统 SQL 技术的限制而建立的新系统(见我们的 blog post on SQL vs. NoSQL vs NewSQL 不同方法之间的比较)。这些限制是缺乏横向可扩展性,数据摄取效率低,模式僵化,以及难以支持复杂的数据,如文档和图表。

NoSQL 丛林必要的导游手册

作为支持标准关系模型的传统 SQL 数据库的替代品,NoSQL 系统支持标准 SQL 以外的数据模型和查询语言。它们通常强调可扩展性(以牺牲一致性为代价)、灵活的模式和实用的 API,用于编程复杂的数据密集型应用。为了提供可扩展性,NoSQL 系统通常在一个无共享的集群中使用扩展的方法(见 blog post on shared-nothing),并进行复制以保证可用性。

大数据软件栈中的 nosql

根据底层数据模型,NoSQL 系统有四大类 (Özsu & Valduriez, 2020),例如,键值数据存储、宽列存储、文档存储和图形数据库。在每个类别中,我们可以找到数据模型的不同变化(与标准化的关系数据模型不同) 和不同的查询语言或 API。然而,对于文档存储,JSON 正在成为事实上的标准。还有一些多模型数据存储,在一个系统中结合了多种数据模型,通常是文档和图形。

NoSQL 丛林必要的导游手册

键值数据存储和宽列存储

键值数据存储和宽列存储有时被归为同一类,因为它们都是无模式的,并且共享许多特征。在键值数据模型中,所有的数据都被表示为键值对,其中键是唯一的标识值。键值系统是无模式的,这产生了巨大的灵活性和可扩展性。它们通常提供一个简单的接口,如 put(key,value),value=get(key),and delete(key)。宽列存储可以将行存储为属性 - 值对的列表。第一个属性被称为主键或主键,例如,社会安全号码,它在一个行的集合中唯一地识别一个行,例如,人。键通常是排序的,这使得范围查询和键的有序处理成为可能。这是宽列存储的一种能力,键值存储通常不支持。

键值数据存储有一个分布式的架构,在一个无共享的集群中可以线性扩展。一个键值集合的行通常是水平分区的,使用散列或键值范围,并存储在一些集群节点上。键值数据存储也善于使用 SSTables 有效地摄取数据(他们声称使用 LSM 树,但实际上使用 SSTables,见我们的 blog post on B+ Trees, LSM trees and SSTables),这是一种数据结构和摄取算法,通过使用单个 I / O 来插入许多行,在摄取数据方面非常高效。键值数据存储解决了僵化的模式问题,仅仅是通过无模式,每一行都可以有不同的结构,即任意的列集。

NoSQL 丛林必要的导游手册

键值数据存储的这些新特性影响了性能。首先,SST 表格在查询数据方面的效率很低,所以在键值数据存储中读取数据的成本要比使用 B + 树的 SQL 数据库高很多。其次,模式的灵活性意味着数据表示在空间方面变得更加昂贵,因为列名必须被编码并存储在行内。更重要的是,一般用于打包相同大小的列的技术不能被应用,所以数据表示的效率更低。由于其固定的模式,SQL 数据库可以在行中组织列,在空间和访问时间方面非常有效。

NoSQL 丛林必要的导游手册

最后,键值存储以强大的数据一致性换取可扩展性和可用性,依赖于不同的控制一致性的方式,如副本的最终一致性,有条件的写入,以及最终一致性和强一致性的读取。

NoSQL 丛林必要的导游手册

宽列存储结合了 SQL 数据库的一些有益特性 (例如,以表的形式表示数据) 和键值存储的灵活性 (例如,列内无模式数据) 和可扩展性。宽列表中的每一行都由一个键唯一标识,并有一些命名的列。然而,与关系表不同的是,列只能包含原子值(即二进制字符串),一个列可以很宽,包含多个键值对。宽列存储用更多的声明性结构扩展了键值存储接口,允许对列族进行扫描、精确匹配和范围查询。它们通常为这些结构提供一个 API,以便在编程语言中使用。

NoSQL 丛林必要的导游手册

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-25发表,共计1674字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中