我最近使用heroku达到了5mb数据库限制,此后成本急剧上升,所以我希望将数据库移到别处。
我很高兴使用VPS并从头开始设置服务器,但是,我最近已经为另一个应用程序做了这个。
我有几个与此相关的问题:
database.yml
实际上会是什么样子。将数据库存储在应用程序外部的示例localhost
是什么? 这些可能是基本问题,但我对服务器和编程的了解非常多,所以我承认,我应该“理解”的事情可能存在巨大的漏洞。
注意:欢迎使用其他(更简单的)移动数据库的建议。谢谢。
答案 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,并且设置和维护要少得多。