美文网首页
NoSQL数据模型设计

NoSQL数据模型设计

作者: 李桐2000 | 来源:发表于2020-09-20 11:28 被阅读0次

NoSQL数据模型设计和关系型数据库模型设计有很大的不同,在浏览MongDB官方文档时发现有不少篇幅介绍数据模型设计,特翻译并整理成此系列供参考学习。本系列内容主要来自MongoDB Document - Date Models部分,其设计思想和方式不仅适用于MongoDB,也可应用到所有的NoSQL数据库上。

NoSQL数据模型

NoSQL主要有两种数据模型

嵌入数据模型

MongoDB支持嵌套文档结构,这允许将相关数据都放入一个文档中保存。这也被称为反范式设计。

使用场景

  • 1对1关系数据合并保存在一起保存。
  • 1对多关系数据,多方数据以数组形式保存在1方文档或者父文档中。

一般,嵌套数据模型具有更好的读性能,并可以在一次读取中获得全部数据。同时能够保证写操作原子性。但要注意单个文档16MB大小限制。

范化数据模型(引用模型)

范化数据模型符合关系型数据设计的范式要求,文档中保存其它文档的引用。

使用场景

  • 嵌入数据模型导致的数据重复影响超过其带来的读性能提升
  • 针对复杂的多对多关系数据
  • 针对大型层次化数据集

NoSQL数据模型构建及模式

关系数据建模

树结构建模

特殊应用建模

相关文章

网友评论

      本文标题:NoSQL数据模型设计

      本文链接:https://www.haomeiwen.com/subject/mfbuyktx.html