5

我在 Heroku 上有一个多租户应用程序(多个彼此一无所知的帐户),我不确定如何最好地构建我的数据库。Postgres 的模式看起来很棒,但是 heroku 不能很好地处理大量的模式。

现在,我的 Rails 应用程序主要提供 JSON,因为大多数模板都在客户端呈现(使用 Backbone.js)。所以我正在考虑迁移到 MongoDB,因为 1)每个租户可以获得一个顶级“帐户”文档,并且所有内容都可以嵌套在下面,以及 2)它的存储格式非常类似于 JSON。我们仍处于测试阶段,因此可以取消。这些是使用 Mongo 的正当理由吗?前者甚至是使用 Mongo 的一种智能方式吗?

如果我坚持使用 postgres,一切都应该属于顶级帐户模型(带有索引)吗?如果是这样,我将如何处理连接?是否可以执行多索引连接(总 postgres noob)?

到目前为止,我们在一个表中有大约 60k 个条目,但一个帐户可能只有 200-1000 个,所以我担心加入整个表。

非常感谢任何帮助。

更新:

我们最终转移到了 VPS(Rackspace 云)并实现了 postgres 的模式。这一举动并不后悔,因为它的运行速度比在 Heroku 上的运行速度要快得多,而且我们对服务器有更多的控制权

4

1 回答 1

2

查看这个为使用 postgres 进行多租户而编写的 gem http://railscraft.tumblr.com/post/21421806379/multi-tenanting-ruby-on-rails-applications-on-heroku

于 2012-06-20T06:29:39.960 回答