NoSQL(文档) - 引入新集合的理由是什么?

时间:2017-11-22 20:31:51

标签: mongodb azure nosql azure-cosmosdb

有许多资源可以使用建模文档NoSQL数据库来描述嵌入式与规范化的多选方法。但我发现很少有关于第三种,中间的,实际上听起来最像是NoSQL的核心:将多种文档类型保存在同一个集合中。

有一些实现细节,比如每个文档都有type字段和索引,但是我找不到一些信息是什么是决定某些文档应该分成不同的集合还是保留在内的转折点一样吗?

我发现了一些提到收藏规模的消息来源,但是,这听起来并不是一个好理由,因为对多个文档类型进行分片/缩放单个收集对我来说也是一个非常可行的选择。

所以,我试图找出一些解释,那是什么' The Reason'在单个集合多个文档类型与多个集合之间进行决策时,每个集合存储一个文档类型?

我不知道它是否重要,但如果是,我正在思考MongoDB和DocumentDB的背景。

1 个答案:

答案 0 :(得分:3)

Cosmos DB中的集合是一个可计费实体,其成本取决于吞吐量和使用的存储。集合可以跨越一个或多个分区或服务器,并且可以扩展以处理几乎无限量的存储或吞吐量。

Microsoft Azure Cosmos DB强烈建议将不同类型的文档存储到同一“集合”中。

但是拥有多个集合对于不同的用例非常有用:
1.多租户:您希望确保所有数据都是分开的 2.需要不同分区策略的不同类型的数据