【发布时间】:2011-02-14 11:36:55
【问题描述】:
我正在考虑使用 MongoDB 创建一个多租户应用程序。我还没有任何关于我会拥有多少租户的猜测,但我希望能够扩展到数千个。
我能想到三个策略:
- 同一集合中的所有租户,使用特定于租户的字段来保证安全
- 单个共享数据库中每个租户 1 个集合
- 每个租户 1 个数据库
我脑海中的声音暗示我选择选项 2。
想法和启示,有人吗?
【问题讨论】:
-
亲爱的@Braintapper,我们的应用程序现在处于同样的情况,需要多租户。你有什么经验可以分享吗?太好了,谢谢。
-
对于我的应用程序,我最终选择了 Postgresql(我们通过 hstore 扩展获得了具有一些类似 NoSQL 功能的关系数据库的好处)而不是 MongoDB,并在 Rails 中使用范围来处理多租户.我们使用与此 Railscast 中使用的方法类似的方法:railscasts.com/episodes/388-multitenancy-with-scopes
-
我知道已经为这个问题选择了答案,但其他任何人都应该参考 mongohq 网站上的这个官方文件:support.mongohq.com/use-cases/multi-tenant.html。它明确主张反对下面的@Braintapper 解决方案
-
答案已更新。您链接中的信息在 2010 年 5 月还不容易获得。
-
@Braintapper 您现在正在使用 postgresql 解决方案(基于 railscasts.com)吗?我想使用它,但我不确定它是否增加了安全性以及它可以支持多少租户!请我需要您对此体验的反馈。谢谢
标签: mongodb multi-tenant