NineData提供了高效、穩定的MySQL大表遷移能力,解決了傳統遷移方案的問題。通過智能分片、行級併發和動態攢批等核心技術,NineData保證了遷移性能。同時,NineData具備完善的容災能力,提高了大表遷移的成功率。通過數據和結構的對比功能,保障了數據的一致性。使用NineData進行遷移... ...
MySQL 作為當前應用最廣泛的開源關係型資料庫之一,具有高性能、穩定性和易用性等特性,是許多網站、應用和商業產品的主要數據存儲。在一些場景中,如果出現單表行數上億的情況,就可能需要開發和 DBA 對大表進行優化:分表、歸檔或擴容操作,而在這些操作中都涉及了對數據的遷移。所以,提供高效、準確、穩定的大表遷移能力是非常有必要的。
1. 傳統的遷移方案
目前,數據遷移主要分為邏輯遷移和物理遷移,邏輯遷移主要有 mysqldump、mysqlpump 和 load data,物理遷移主要有 XtraBackup。對於這類導入導出和拷貝文件的傳統遷移方案,在大表遷移中會存在一些問題:
-
需要停機,對於物理遷移,不能保障線上業務。
-
性能差,對於邏輯遷移,單線程導出表。
-
可靠性差,導出異常後,不支持斷點,需要重新導出。
-
運維性差,遷移期間,不能對導入導出進行暫停、限流等操作。
2. 領先的遷移方案
NineData 提供的數據複製同時包含了數據遷移和數據同步的能力,在不影響業務的前提下,提供了高效、穩定、可運維的大表遷移能力。對大表(單表 227G,行數 10 億)遷移:NineData 約 30 分鐘完成遷移,平均速率 124.2 MB/s,平均 534188 RPS。
通過對 MySQL 大表遷移的性能測試,和傳統遷移比,NineData 數據遷移的優勢有:
-
簡單易用:一分鐘即可完成任務配置,並全自動化完成任務遷移。
-
強勁性能:完善的智能分片、行級併發、動態攢批等核心技術,有效保證遷移性能。
-
高可靠:結合新型斷點、異常診斷及豐富的修複手段,對於遷移過程中可能出現軟硬體故障,提供完善的容災能力,大大提高了大表遷移的成功率。
通過上述優勢,保證了 NineData 在大表遷移場景下的領先性。另外,NineData 還提供了對比功能,包含數據和結構的對比,以及全量、快速和不一致複檢的對比方式,並且也支持不同的對比頻率。在遷移或複製結束後,通過數據和結構對比,能有效的保障數據的一致性。
NineData 在提供強大遷移能力的同時,也保證了使用的簡單性,只需要 1 分鐘就能完成遷移任務的配置,實現完全自動化的數據遷移過程。下麵我們來看下整個任務的配置過程:
遷移鏈路的配置
-
配置任務名稱,選擇要遷移的源和目標實例。
-
選擇複製類型,數據遷移選擇結構和全量複製(數據遷移)。
-
根據需要,選擇合適的衝突處理策略。
-
點擊下一步,進行遷移對象的選擇。
選擇遷移對象
選擇遷移對象:針對不同粒度選擇遷移對象:實例、庫、表、視圖等。
![](https://img2023.cnblogs.com/blog/3078673/202308/3078673-20230817144853272-1125896316.png)
配置映射和過濾規則:目標實例可以自定義遷移的庫名、表名和按照過濾條件進行部分數據遷移,也可以針對錶的列名進行映射和部分列遷移。
預檢查
通過豐富的檢查項,保證了遷移任務的穩定性及和數據的一致性。到此,我們就完成了一個高性能遷移任務的配置。
同時,為了提供更好的遷移體驗,NineData 針對遷移過程提供了完善的觀測、干預能力。其不但提供對象遷移的詳細狀態、進展、詳情,還通過監控和日誌透露後臺線程的內部執行情況,幫助用戶全方位追蹤遷移進展。同時,還針對運行過程中可能出現的異常情況,提供基礎診斷能力,及修複、跳過、移除等多種修複策略和遷移限流能力,讓用戶能夠自主快速得診斷並修複鏈路,保障遷移穩定性。
3. 總結
NineData 提供的高效、快速、穩定的 MySQL 大表遷移能力,很好的補充了傳統遷移方案的不足。當前,NineData 已經支持數十種常見資料庫的遷移複製,同時,除了 SAAS 模式外,還提供了企業專屬集群模式,滿足企業最高的數據安全合規要求。目前,NineData 已在運營商、金融、製造業、地產、電商等多個行業完成大規模應用實踐。如果您感興趣的話,可以登錄官網 https://www.ninedata.cloud/dbmigration,立即開始免費使用。