背景@H_403_2@
@H_403_2@在前三篇文章中已经介绍了Nosql中属于聚合模型的三种数据库:键值型、文档型、列族型。下面针对三种聚合数据模型的共同点和不同点加以分析以便很好的来认识掌握各自的特点。@H_403_2@@H_403_2@
相同点@H_403_2@
@H_403_2@三种面向聚合的数据模型的共同点是,他们都是用聚合这一概念,而且聚合中都有一个可以查找其内容的索引键。在集群上运行时,聚合都是重点环节,因为数据库必须保证将聚合内的数据存在同一节点上。聚合还是”更新“操作的最小数据单位,对于事务控制来说,以聚合为操作单元,其大小正合适。@H_403_2@@H_403_2@
不同点@H_403_2@
@H_403_2@键值数据模型将聚合看作不透明的整体,这意味着只能根据键来查出整个聚合,而不能仅仅查询或获取其中的一部分。@H_403_2@@H_403_2@
@H_403_2@文档模型的聚合对数据透明,于是就可以只查询或获取其中的一部分数据,不过,由于文档没有模式,因此想优化存储并获取聚合中的部分内容时,数据库不太好调整文档结构。@H_403_2@
列族模型把聚合分为列族,让数据库将其视为行聚合内的一个数据单元。此类聚合的结构有某种限制,但是数据库可利用此种结构的优点来提高其易访问性。@H_403_2@