--------------------------------------------------------------------------------------------------------
NoSQL技术与传统关系型数据库相比,一个最明显的转变就是抛弃了关系模型。本书把NoSQL生态系统中最广泛使用的模型分为四类:“键值”,“文档”,“列族”,“图”。前三类数据模型有一个共同特征,称为“面向聚合(aggregate orientation)”。
关系模型把待存储的信息分隔成元组(行)。而元组是种受限的数据结构:元组中不能嵌套另一个元组,也不能包含由值或元组所组成的列表。
我们通常操作数据时所用的单元,其结构都比元组集合复杂得多。这种存放列表或嵌套其他记录结构复杂的记录结构,本书叫它“聚合(aggregate)”。
聚合是“领域驱动设计”中的术语。在领域驱动设计中,把一组相互关联的对象视为一个整体单元来操作,这个单元叫做聚合。在涉及数据操作与一致性管理时,更是如此。
一般情况下,我们通过原子操作更新聚合的值,并且在与数据存储通信时,也以聚合为单位。因为用聚合为单位来复制和分片显得比较自然,所以在集群中操作数据库时,还是用聚合比较简单一些。此外,由于程序员通过聚合结构来操作数据,故而采用聚合也能让工作更轻松。
关系模型与聚合模型示例
(文章列举了一个客户和订单的例子,使用关系模型的情形,大家一定很清晰了.