【问题标题】:Django multi-DB multitenancy with MongoDBDjango 多数据库多租户与 MongoDB
【发布时间】:2015-07-19 11:29:26
【问题描述】:

是否有软件可以为 Django 提供多 DB 多租户支持并与 MongoDB 一起使用?

我认为我只需要数据库级别的多租户,并且可能在架构级别而不是应用程序级别。

我有一个相当复杂的用户模型。一些用户可以查看其他用户输入的某些数据。用户通常属于组织。组织可以分层嵌套,并且为组织内的用户配置应用程序的方式可能有相似之处(例如,组织内的所有用户都将填写相同的表单,除非单个用户覆盖了该表单)。有时,用户提交的某些数据可以由其组织外部的用户查看,甚至可以在其组织所在的层次结构之外查看。使用该应用程序的组织可能是竞争对手,我们正在处理的数据是敏感的,因此它需要非常安全。它还需要快速开发。

我正在考虑为每个用户提供自己的数据库,然后要么拥有共享数据库,要么拥有一个具有多个模式的共享数据库,以便存储组织内用户之间共享的配置。

【问题讨论】:

    标签: python django mongodb multi-tenant database


    【解决方案1】:

    MongoDB 上的多租户是完全可行的,我们在onliquid.com 的生产环境中使用它。

    我不知道有任何库、插件或特定软件可以为您完成这项工作,但无需付出太多努力就可以做到。如果您想深入研究它,我建议您在选择要读取和写入的数据库并开始处理时特别注意您使用的驱动程序的行为。还可以查看 smallfilesdirectoryperdb 等 MongoDB 配置选项,它们可以让您更好地管理差异并避免一些问题。

    我前段时间写了一个blog post 使用 Mongoid 为 Ruby on Rails 写了一个,大部分细节适用于所有 Web 框架,并且特定于 MongoDB 的内部工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-21
      • 1970-01-01
      • 2020-08-03
      • 2021-07-10
      • 2015-07-08
      相关资源
      最近更新 更多