2012-05-11 58 views
2

我最近用heroku達到了5mb數據庫的限制,在這點之後費用急劇上升,所以我正在尋求將數據庫移動到其他地方。移動Heroku共享數據庫

我對使用VPS和從零開始設置服務器非常新,但是,我最近爲其他應用程序完成了這項工作。

我有與此相關的幾個問題:

  • 是否有可能在VPS創建一個數據庫,並指出在Heroku我的Rails應用程序使用該數據庫?
  • 如果是這樣,那麼database.yml實際上會是什麼樣子。數據庫存儲在應用程序外部的例子是localhost

這些可能是基本的問題,但我的服務器和編程方面的知識非常多自學,所以我承認,可能存在的事情,我「應該」已經明白巨大的漏洞。

注意:歡迎其他(簡單的)移動我的數據庫的建議。謝謝。

回答

6

好的 - 對於初學者來說,是的,您可以在Heroku外部託管一個數據庫,並將您的database.yml指向該服務器 - 這僅僅是設置主機名指向正確地址的情況,併爲其提供正確的憑據。

但是,你需要考慮幾件事情:

1)延遲 - 除非你是EC2東內託管的Heroku和您的數據庫之間的延遲會導致你的各種性能問題。

2)建立數據庫服務器不是一項簡單的任務。你需要考慮它是多麼安全,它是如何執行的,保持最新狀態,保持備份,並且不得不擔心日夜擔心它正在啓動。使用Heroku,你不需要這樣做,因爲它完全託管。

價格方面,您是否知道the new low cost Postgres plans at Heroku? $ 15 /月將爲您提供20Gb(共享實例),而$ 50/mp將爲您提供1TB(專用實例)。對我來說,這是非常便宜的,因爲我更重視自己的時間,並且我知道需要投入多少時間才能製作自己的服務器,以便每月節省10美元。

+0

謝謝尼爾!我只是在尋找專注,我有一段時間沒有訪問過共享定價頁面。你是絕對正確的,考慮到時間,這是最好的選擇。 – Dru

1

使用Amazon RDS會更便宜,這是由Heroku正式支持,並從同一個數據中心(亞馬遜美國東部)服務。如果您確實想使用VPS,請在US-East使用Amazon EC2實例以獲得最佳性能。 This tutorial詳細地顯示瞭如何用Django來做到這一點。即使您不決定使用EC2,也請參閱該教程,以瞭解如何將外部數據庫信息正確添加到Heroku應用程序,以便Heroku不會覆蓋它。

儘管如此,Heroku的共享數據庫極具成本競爭力 - 遠遠超過大多數VPS並且安裝和維護更少。

+0

+ 1我決定通過增加共享數據庫大小來解決你們的建議,但我很好奇。我看到heroku支持RDS來代替標準的postgresql dbs。你知道他們是否支持將現有的postgresql數據庫移動到RDS mysql數據庫? – Dru

+0

Heroku對將數據從一個數據庫服務移動到另一個數據庫服務沒有任何特定的支持。當然,如果你成功移動它,那麼在Heroku中切換活動數據庫將很容易。 –