Postgresql

為什麼在 Postgres 上使用 RDS over EC2?

  • September 30, 2016

我有一個目前在 EC2 上執行的數據庫。由於我必須將它移動到更大的機器上,所以出現了使用 RDS 的問題。

價錢:

我可以按需以每小時 0.132 美元的價格獲得一個帶有兩個 SSD(每個 16GB)、兩個 vCPU 和 4GB 記憶體的EC2實例 c3.large$$ 1 $$.

最接近(考慮價格)的RDS機器db.m3.medium每小時 0.125 美元(單可用區)$$ 2 $$. 這台機器的記憶體量相同,但只有一個 vCPU$$ 3 $$. 此外,我將不得不支付儲存和 io$$ 2 $$.

所以這兩個的價格會非常相似。

EC2 的優勢:

  1. 如前所述,多了一個 vCPU。
  2. 使用 EC2 時,我可以將 Write-Ahead-Log 放在第二張光碟上(向 db 寫入大量內容時性能得到很大提升)。
  3. 我可以在我的 EC2 實例上執行pgbouncer(更高的性能,因為我可以保持連接打開)。
  4. 我可以編輯配置文件(最終會提高性能)

RDS 的優勢:

  1. 自動進行每日備份。

RDS 能否涵蓋 EC2 的優勢(尤其是 2.)?還有其他優點嗎?

像大多數事情一樣,這是成本與努力/複雜性的權衡。

RDS 更簡單,但靈活性較差,並且相同性能水平的成本更高。

(特別注意,沒有辦法複製到或複制出 RDS

對於單個實例比較,不多,但 RDS 有很多優勢,在不同區域維護具有隻讀副本的多可用區設置等比我更願意在 EC2 中處理。RDS 提供大量工具,否則您必須自己動手;這總是一個優點。RDS 還為您的數據庫提供了一個統一的介面,在我看來這是一個相當大的優勢,並且它有助於加強數據庫部署的一致性。當然,我們仍然在實例上使用 pgbouncer。

坦率地說,比起在 EC2 中,我更喜歡在 coloc 硬體上執行數據庫。我討厭在 EC​​2 中執行數據庫。移動它們,進行轉儲和備份是噩夢般的,因為 ec2 的 i/o 性能簡直糟糕透頂,而且購買大量 iops 非常昂貴,而且仍然無法以任何方式接近硬體性能。如果我能忍受 RDS 的限制,我會一直使用它。

引用自:https://dba.stackexchange.com/questions/76273