2013-08-23 54 views
4

我們在AWS上託管了一個Rails應用程序,該應用程序在amazon-rds數據庫上使用了mysql。我們想要遷移的數據庫中有一個巨大的表格,但由於數百萬行進行遷移需要數天的時間。具體而言,我們將VARCHAR設置爲TEXT在不停機的情況下遷移巨大的生產數據庫

如何在沒有用戶遇到停機時間的情況下遷移此大型生產數據庫?

我聽說的一個想法是設置數據庫的副本,並在那裏進行遷移,並在完成後將其切換爲主數據庫。但是我不確定這將如何考慮遷移過程中輸入的用戶數據。

更新:這可能是相關的:amazon-rds offers read replicasMulti-AZ deployments這看起來他們可能會爲這種類型的事情進行。但是,首次這樣做,我們會歡迎任何方法的指導,無論是這樣或那樣。

回答

1

我不知道這是可能的,你正在使用的主機選項,但我會解決這個問題是這樣的:

  1. 的數據複製到新的服務器(並記錄二進制日誌位置舊的數據庫服務器上)
  2. 打開從舊服務器到新的服務器複製(並等待它趕上)
  3. 重新配置Rails應用程序以指向新的服務器

只讀模式是另一個潛在的選擇,如果「寫入停機時間」比「完全停機時間」更可接受(顯然取決於應用程序)。

相關問題