我正在使用Azure DocumentDB,我在NoSql中的所有经验都在MongoDb中.我查看了定价模型,每个集合的成本.在MongoDb中,我会为我使用的东西创建3个集合:用户,公司和电子邮件.我注意到这种方法每月收费24美元.
我和我一起工作的人告诉我,我做错了.我应该将所有这三个东西存储在一个集合中,并带有一个字段来描述数据类型.每个集合应该按日期或地理区域相关联,因此世界上有一部分要搜索的部分较小.并:
"将不同类型的文档合并到一个集合中,并在所有文档中添加一个字段,以便像搜索类型字段或其他内容一样将它们分开"
我永远不会梦想在Mongo中这样做,因为它会使索引,分片键和其他难以理解的东西.
可能没有可能在对象之间重叠的字段(例如:电子邮件和公司对象)
我可以这样做,但我似乎找不到任何其他人这样做的例子 - 这向我表明可能是不对的.现在,我不需要一个例子,但是有人可以指向某个位置来描述哪个是"正确"的方法吗?或者,如果您为所有数据创建单个集合 - 除了Azure的定价模型之外,这样做的优点/缺点是什么?
关于DocumentDb架构设计的任何好文章?