我在Heroku上有一个多租户应用程序(多个帐户彼此一无所知),我不确定如何最好地架构我的数据库。Postgres的模式看上去棒极了,但heroku不处理他们中的很多人都很好。
现在,我的Rails应用程序主要为JSON服务,因为大多数模板都呈现客户端(使用Backbone.js)。因此,我考虑迁移到MongoDB,因为1)每个租户都可以获得一个顶级的“帐户”文档,所有内容都可以嵌套在下面;2)它的存储格式非常类似于JSON。我们还在测试阶段,所以它可能会成功。这些是使用Mongo的正当理由吗?以前甚至是一种聪明的使用蒙戈的方式吗?
如果我坚持使用postgres,那么belong_to是否应该是顶级的帐户模型(带有索引)?如果是这样,我将如何处理联接?是否可以执行多索引联接(总postgres noob)?
到目前为止,我们在一个表中有大约60000个条目,但是一个帐户可能只有200-1000个,所以我担心加入整个表。
真的很感谢你的帮助。
更新:
最后,我们转移到VPS (Rackspace Cloud)并实现postgres的模式。这一举动没有任何遗憾,因为它比在Heroku上运行得快得多,而且我们对服务器有更多的控制。
发布于 2012-06-20 06:29:39
查看这个创业板,它是为使用postgres http://railscraft.tumblr.com/post/21421806379/multi-tenanting-ruby-on-rails-applications-on-heroku进行多租户编写的。
https://stackoverflow.com/questions/11111617
复制相似问题