閱讀738 返回首頁    go 阿裏雲 go 技術社區[雲棲]


RDS最佳實踐(二)—如何快速平穩的遷入RDS

在之前文章中中大致介紹RDS的一些基本參數,包括數據庫類型,版本,存儲空間,規格:內存,連接數,io,地域等基本含義,本篇中將介紹如何快速平穩的遷入RDS。

用戶在購買完RDS後,接下來就可以開始往RDS遷入數據了。在RDS剛剛對外提供服務的時候,用戶隻能通過將自己的數據庫dump成為sql文件,然後再將sql文件source到RDS中去:數據遷移至RDS-MySQL之使用MySQLdump工具數據遷移至RDS-SQLserver之利用SQL Server客戶端工具,這兩種方法是最簡單的方法,但是局限性也非常的多:

.用戶的數據庫太大了,邏輯sql導入的方式速度太慢了,嚴重影響停機時間;

.在導入的過程中報錯很多,或者導入一半的過程中中斷了,需要重新來過;

.在遷入RDS過程中,希望我的數據庫還能能正常提供服務;

大量的用戶入雲全部堵在遷移數據上麵,用戶與RDS的緣分就差麼這臨門一腳。工欲善必先利其器,為了更好的幫助用戶入雲,RDS對現有的用戶入雲遷移方式進行改進,幫助用戶快速穩定遷移入雲,分別為用戶提供了mysql和sqlserver兩套改良遷移工具:

.mysql遷移工具支持在線遷移,用戶可以不中斷業務的情況下把數據遷移到RDS中來;

.sqlserver的遷移工具采用物理備份的方法,將用戶的物理備份上傳到FTP中後還原到RDS,提升遷移的速度;

這兩套工具目前都已經集成到了RDS的控製台中,可以參考:數據遷移至RDS-MySQL之使用阿裏雲控製台和 數據遷移至RDS-SQLserveru阿裏雲控製台.

很多用戶在控製台上看到的隻是一個黑盒子,在工單中多次谘詢遷移的原理,在這裏大致講一下這兩個工具的遷移實現:

Mysql在線遷移的原理:

RDS-mysql1

第一步:預檢查,主要是驗證用戶網絡的通暢性,賬號和環境的檢查;

第二步:全量備份,該步驟會把用戶的數據全量的dump出一份出來,然後還原到RDS;

第三步:增量遷移,該步驟會解析用戶全量期間以及後續產生的binlog應用到RDS;

第四步:切換,當RDS的數據完全追上用戶的數據庫後,用戶就可以開始進行切換了;

Mysql的在線遷移工具目前還有一些限製,比如:

mysql 5.0隻支持全量遷移,不支持增量遷移;

不支持mysql5.6的遷移;不支持存儲過程,觸發器的遷移;

遷移過程中如果有ddl發生則會導致增量遷移失敗;

SQLSERVER工具遷移的原理:

 rds-sql

第一步:備份用戶對本地數據庫進行物理備份;

第二步:備份上傳至RDS提供的ftp服務器上(ftp地址支持私網和公網上傳);

第三步:RDS掃描校驗用戶上傳備份文件通過後,恢複至用戶RDS;

第四步:用戶切換應用至RDS;

由於sqlserver目前還沒有開放日誌接口,所以RDS目前還不能支持在線遷移;

RDS目前不支持master庫的導入。

希望這篇文章對你使用RDS有幫助。

最後更新:2017-04-03 08:26:18

  上一篇:go 周鴻禕又發內部信《大數據時代,聚焦安全,極致安全》
  下一篇:go 互聯網金融加速引發人才荒 或現“薪水泡沫”