2013-08-16 35 views
6

我們目前在EC2上運行MySQL,並且我們已經有一段時間了。我喜歡簡化備份,恢復和故障切換的想法,而且我非常喜歡使用RDS而不是EC2的易用性。我已經開始從EC2遷移到RDS,但是當我通過遷移工作時,我一直在想我是否做得正確。爲什麼人們建議不要使用Amazon RDS?

我讀過人們暗示不要使用Amazon RDS for MySQL數據庫,但我還沒有找到RDS缺點的簡明解釋。

有人可以幫助我理解爲什麼我不應該轉移到RDS,而是將我的數據保留在EC2中?

我們的數據庫大約有30GB數據,大部分數據來自於一個1800萬行表和一個InnoDB數據庫中的4000萬行表。

任何想法都非常感謝。謝謝!

+1

雖然你獲得了一些自動化,但你放棄了一些控制。這是一個不值得每個人都值得的權衡。 – datasage

回答

0

通過使用RDS,您唯一會放棄的就是日誌,不幸的是RDS並未提供有時對調試至關重要的全套日誌。如果你能在沒有他們的情況下生活,並且在開始生產之前進行了強有力的測試,那麼RDS是一條可行的路。

+3

我認爲這已經改變:http://aws.amazon.com/about-aws/whats-new/2013/03/04/amazon-rds-db-log-access/ –

3

這主要與團隊的DBA有關。 RDS旨在消除DBA(主要是多可用區複製,備份,還原,修補...)的大部分重複和無聊的任務。這部分甚至可以佔DBA花費的時間的70%。

另一方面,如果DBA在其實例上運行數據庫(例如,在EC2上),則某些任務無法通過RDS訪問,因爲它們在RDS實例上沒有ROOT。

如果您的DBA(和您的使用案例)可以從繁重的工作中受益,而且不會受到特權降低的困擾,那麼您當然應該考慮RDS。

+0

在這種情況下,我是開發人員和DBA。雖然我不是全職的DBA,但這不是我的頂尖專業知識,但我對MySQL管理並不陌生。我試圖瞭解我現在可能沒有想過的事情,以後可能會抑制我的能力。 –

+1

然後我建議你去爲它。我也是唯一的常駐系統管理員,並且寧願外包盡我所能的關鍵但乏味的DBA任務。我還沒有解決一個問題,那就是沒有完全的root訪問權限是一個問題,但是很多分散注意力(以及一些壓力)都會隨着RDS管理的備份,故障轉移,容量管理和升級而消失。這不像是做或死的決定:如果你後來發現某些你不能做的事情,你可以再次啓動自己的MySQL盒子。我打賭你不需要。 – ianjs

+0

RDS太棒了 - https://www.youtube.com/watch?v=RwCn5KAiFqM –

3

我們在RDS的二十個表格中管理一個200GB的數據庫。根據我的經驗,使用RDS可以節省大量時間,但存在的缺點很小,可以解決。總體而言,RDS節省的時間遠遠大於任何令人頭痛的時間。然而,我所遇到的兩個是:

  1. 您不能設置全局變量作爲RDS-root用戶,你必須將它們放置在parameter group然後應用到數據庫中,這比困難「SET GLOBAL」但提供其他好處。

  2. 由於您無權訪問RDS文件系統,因此無法將其轉儲到out-file中。請參閱this question。但正如在這個問題中指出的那樣,有一些解決方法。

相關問題