如何实现多租户MongoDB

| 我希望实现一个MongoDB系统,该系统具有3个主要集合(人员,调查,响应)和一些次要集合(查找等)。但是,系统将是多租户,因此我将需要为每个租户提供一组集合。我的问题是我应该为每个租户分配单独的数据库,还是应该拥有一个数据库?对于单个数据库,我应该按以下方式命名我的集合:tenantname_people,tenantname_surveys等,还是有更好的方法来构造/命名我的集合?我喜欢单一数据库方法,因为这样我就可以拥有一个租户集合,其中包含每个租户及其用户的详细信息等,这将有助于获得支持。我将有很多索引,而且我会注意名称空间的24k限制。 24k似乎很高,但是这些东西可能会困扰您。 任何有用的评论将不胜感激。谢谢。     
已邀请:
绝对合适的方法是使用单独的数据库,因此您可以轻松地应用复制并制作租户的冗余版本。当您想扩展服务时,单个数据库会咬你 您需要做的是拥有一个租户ID和一个作为管理数据库的单个用户db,您可以在那里获取有关用户和租户的信息。     
我建议每个租户有单独的数据库。这也可以帮助您进行分片。如果要使用--nssize参数,则可以增加名称空间限制。     

要回复问题请先登录注册