首页 > 代码库 > NoSQL详解

NoSQL详解

技术分享

键值数据模型

键值数据库是一张简单的hash table,主要用在所有数据库访问均通过主键来操作的情况下。讨论每一种NoSQL数据库的特征时,都要了解其”一致性“、”事务性“、查询特性、数据结构和可扩展性。


文档数据模型



列族数据模型


相同点

如上图三种面向聚合的数据模型的共同点是,他们都是用聚合这一概念,而且聚合中都有一个可以查找其内容的索引键。在集群上运行时,聚合都是重点环节,因为数据库必须保证将聚合内的数据存在同一节点上。聚合还是”更新“操作的最小数据单位,对于事务控制来说,以聚合为操作单元,其大小正合适。

不同点

键值数据模型将聚合看作不透明的整体,这意味着只能根据键来查出整个聚合,而不能仅仅查询或获取其中的一部分。

文档模型的聚合对数据透明,于是就可以只查询或获取其中的一部分数据,不过,由于文档没有模式,因此想优化存储并获取聚合中的部分内容时,数据库不太好调整文档结构。

列族模型把聚合分为列族,让数据库将其视为行聚合内的一个数据单元。此类聚合的结构有某种限制,但是数据库可利用此种结构的优点来提高其易访问性。

NoSQL详解