可能的SaaS mongo架构

时间:2012-08-14 09:48:09

标签: mongodb saas

我正在创建一个客户(用户)来自不同组织的平台。所以我想根据他们所属的组织将他们的数据完全分开。您如何建议将此类数据存储在mongo db中?在哪个级别?

2 个答案:

答案 0 :(得分:3)

出于安全原因(即合规性或法规)或仅仅是为了管理/易用性,您是否将数据分开?

如果是前者,我至少会使用单独的数据库,如果不是单独的MongoDB实例。单独的实例使您能够通过类似iptables的内容在IP级别执行隔离,以便您可以将不同的实例绑定到不同的IP范围,代表不同的组织假设他们将访问数据。

如果是后者,我仍然会使用单独的数据库,因为它为您提供了to have different users on a database levelversion 2.2的能力,并发性将是on a database level(所以没有共享例如,写锁定,如果你在集合级别将其拆分出来,就会有。)

作为一个FYI,这里有一些关于MongoDB中架构设计的其他信息 -

答案 1 :(得分:0)

您可以为每个组织创建一个文档,并将用户的详细信息放入根文档中的子文档中。

如果整体用户的个人资料太大而不适合MongoDB文件大小(16毫克),那么您可以通过为每个用户创建文档并添加引用该组织的字段来使用不同的方法。