【问题标题】:MongoDB - Different collection per tenantMongoDB - 每个租户的不同集合
【发布时间】:2018-03-08 10:59:21
【问题描述】:

我们有一个多租户应用程序,并计划在 MongoDB 中存储大量数据。目前,计划是在所有租户中使用相同的文档模式。我是 Mongo 的新手,但我认为将每个租户存储在它自己的子集合中可能是有意义的。例如 database.collection.sub-collection 将是:

  • mydb.archivedata.123456
  • mydb.archivedata.123457
  • mydb.archivedata.123458

以下是我认为的利弊:

优点:

  • 会更快,因为索引会更小
  • 通过 Robo 3T 之类的工具查看数据时,查找文档会更容易。
  • 更容易删除租户。只需删除他们的收藏。

缺点:

  • 在执行支持之类的操作时,很难跨集合进行查询。例如找到所有拥有此类数据的租户。听起来这是一个相当复杂的连接,如果不是不可能的话。
  • 每当我想对索引进行更改时,我都必须将其应用于每个集合

我应该考虑这个吗?我应该坚持为所有租户使用一个集合吗?

【问题讨论】:

    标签: mongodb


    【解决方案1】:

    不确定我第一次错过了,但这已在What is the recommended approach towards multi-tenant databases in MongoDB? 讨论过。

    基于一些思考时间和那篇文章,使用单个数据库,每个文档都添加了一个租户密钥。不是每个租户的集合。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-24
      • 1970-01-01
      • 2020-10-31
      • 2017-07-25
      • 2020-08-03
      • 1970-01-01
      • 1970-01-01
      • 2019-11-30
      相关资源
      最近更新 更多