【发布时间】:2018-03-08 10:59:21
【问题描述】:
我们有一个多租户应用程序,并计划在 MongoDB 中存储大量数据。目前,计划是在所有租户中使用相同的文档模式。我是 Mongo 的新手,但我认为将每个租户存储在它自己的子集合中可能是有意义的。例如 database.collection.sub-collection 将是:
- mydb.archivedata.123456
- mydb.archivedata.123457
- mydb.archivedata.123458
以下是我认为的利弊:
优点:
- 会更快,因为索引会更小
- 通过 Robo 3T 之类的工具查看数据时,查找文档会更容易。
- 更容易删除租户。只需删除他们的收藏。
缺点:
- 在执行支持之类的操作时,很难跨集合进行查询。例如找到所有拥有此类数据的租户。听起来这是一个相当复杂的连接,如果不是不可能的话。
- 每当我想对索引进行更改时,我都必须将其应用于每个集合
我应该考虑这个吗?我应该坚持为所有租户使用一个集合吗?
【问题讨论】:
标签: mongodb