Meteor -MongoDB - 用于SaaS产品的单个数据库或多个数据库

use*_*519 0 mongodb meteor

这是另一个问题,我想它应该由流星团队回答,因为到目前为止我找不到一个直接的答案.

"..我们决定将MongoDB用于我们正在创建的SaaS产品.每个注册的公司都有他们自己的网址(mycompany.domain.com)和他们自己的私人用户,项目等等......因为我们是使用NoSQL解决方案,并且不必像我们使用MySQL那样管理向每个数据库推送模式更新,我想知道是否有一个包含所有数据的大型数据库,或者每个客户端有一个数据库会更好......"

那么,我可以使用meteor aproach(使用一个流星项目/服务器):1)每个公司的不同URL 2)每个公司和特定公司用户的不同数据库(在同一个monodb服务器中).

Aks*_*hat 5

如果你看看meteor自己的托管,他们会使用MongoHQ的mongodb服务器.您可以将多个流星服务器与单个mongodb服务器和多个数据库一起使用.

我认为这更多地取决于你的应用程序设计,Meteor可以使用任何一种设计.

1)您可以使用发布函数为每个客户端提供来自一个巨大数据库的他/她自己的记录,使用一种方法将子域http主机放入发布函数中,这样它只会为该集合提供数据.

2)在一台服务器上使用连接到自己的mongodb数据库的单独流星实例,并使用某种代理将它们服务到子域.您可以使用您想要的任何数据推送每个数据,甚至可能是单独的应用程序集.

这真的取决于你正在建设什么.如果你只想更新一组数据,那么每个人都可以更新1),所以如果你的用例需要这个,那么它可能是一个更好的选择.

使用单独的流星实例的好处主要是定制.用你给出的细节很难得到你想要的东西,所以生病的简短:如果你想让每个客户的能力大不相同,请使用2),否则使用1)

如果你看一下Meteor.com的主持,我认为每个部署都被赋予它自己的数据库,主要的原因是:自定义,大家的部署很可能是完全不同的.

更新:

截至2014年3月,有一个第三方大气包meteor-dbproxy,允许您在后端使用多个mongodb服务器(以及单独的oplog集成端点),从而允许您使用db级沙盒多租户.