移动Heroku共享数据库

时间:2012-05-11 22:06:06

标签: ruby-on-rails ruby database postgresql heroku

我最近使用heroku达到了5mb数据库限制,此后成本急剧上升,所以我希望将数据库移到别处。

我很高兴使用VPS并从头开始设置服务器,但是,我最近已经为另一个应用程序做了这个。

我有几个与此相关的问题:

  • 是否可以在VPS上创建数据库并将我的rails应用程序指向heroku以使用该数据库?
  • 如果是这样,database.yml实际上会是什么样子。将数据库存储在应用程序外部的示例localhost是什么?

这些可能是基本问题,但我对服务器和编程的了解非常多,所以我承认,我应该“理解”的事情可能存在巨大的漏洞。

注意:欢迎使用其他(更简单的)移动数据库的建议。谢谢。

2 个答案:

答案 0 :(得分:6)

好的 - 对于初学者,是的,你可以在Heroku外部托管一个数据库,并将你的database.yml指向该服务器 - 这只是设置主机名指向正确地址的情况,并给它正确的凭据。

但是,您需要考虑以下几点:

1)延迟 - 除非您在EC2 East内部托管,否则Heroku和您的数据库之间的延迟会导致各种性能问题。

2)设置数据库服务器不是一项简单的任务。您需要考虑它的安全性,性能如何,保持最新状态,保持备份以及日夜不得不担心它的存在。使用Heroku,您无需执行此操作,因为它完全受管理。

价格明智,你知道the new low cost Postgres plans at Heroku吗? $ 15 /月将获得20Gb(共享实例),50美元/ mp将获得一个TB(专用实例)。对我而言,这非常便宜,因为我更加珍惜自己的时间,而且我知道需要花多少小时来制作自己的服务器以节省每月10美元。

答案 1 :(得分:1)

使用Amazon RDS会更便宜,这是由Heroku正式支持并在同一数据中心(亚马逊美国东部)提供服务。如果您确实想使用VPS,请在美国东部使用Amazon EC2实例以获得最佳性能。 This tutorial详细说明了如何使用Django。即使您不决定使用EC2,也请参阅该教程,了解如何正确地将外部数据库信息添加到Heroku应用程序中,以便Heroku不会尝试覆盖它。

尽管如此,Heroku的共享数据库极具成本竞争力 - 远远超过大多数VPS,并且设置和维护要少得多。