0

我目前正在使用具有行限制的heroku数据库的客户端,并且我们有一个记录活动的大表,因此在尝试了一些解决方案后,我发现我可以为单个模型使用不同的连接。

会不会对性能影响很大?我想我将使用 postgres 仅使用此表创建一个微型实例。

4

3 回答 3

1

根据您的其他要求,这似乎可以很好地用于 Heroku 的 Postgres“跟随”功能,该功能创建一个只读实例来隐藏您的主数据库。更多信息:Heroku Postgres 关注

于 2012-10-31T19:57:51.100 回答
1

不,拥有多个数据库连接不应影响性能。每个工作进程可能会使用更多的内存,但可能不足以引起关注。

我建立第二个数据库连接的方式是在 database.yml 中使用另一个节。除了开发和生产部分之外,您还可以在使用它的模型中引用“other_db”连接。如果您最终让多个模型使用另一个连接,您可能希望创建一个从 ActiveRecord::Base 继承的“超类”模型,并且只有建立连接行,并让实际模型继承自该模型。这样你就不会一直重复建立连接线。

于 2012-10-31T20:45:44.107 回答
1

我认为如果您要为应用程序处理大量数据和多个租户,那么拥有多个数据库是一个好主意。我在我的 database.yml 中使用不同的部分。所以使用建立连接我将指向这个部分。所以这些特定模型将指向本节。我们也可以避免数据重复。

考虑我们有多个租户,每个租户都有不同的数据库。但是每个租户都有一些它使用的公共数据。所以对于这些模型,我们可以使用不同的数据库。这样所有租户都会从这个数据库中获取数据。因此我们可以避免数据重复也。

于 2012-11-01T06:12:49.850 回答