使用NineData實現億級別MySQL大表遷移

来源:https://www.cnblogs.com/ninedata/archive/2023/08/17/17637586.html
-Advertisement-
Play Games

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 分鐘就能完成遷移任務的配置,實現完全自動化的數據遷移過程。下麵我們來看下整個任務的配置過程:

遷移鏈路的配置

 

  1. 配置任務名稱,選擇要遷移的源和目標實例。

  2. 選擇複製類型,數據遷移選擇結構和全量複製(數據遷移)。

  3. 根據需要,選擇合適的衝突處理策略。

  4. 點擊下一步,進行遷移對象的選擇。

選擇遷移對象 

 

選擇遷移對象:針對不同粒度選擇遷移對象:實例、庫、表、視圖等。

 

 

配置映射和過濾規則:目標實例可以自定義遷移的庫名、表名和按照過濾條件進行部分數據遷移,也可以針對錶的列名進行映射和部分列遷移。

預檢查

 

 

通過豐富的檢查項,保證了遷移任務的穩定性及和數據的一致性。到此,我們就完成了一個高性能遷移任務的配置。

 

同時,為了提供更好的遷移體驗,NineData 針對遷移過程提供了完善的觀測、干預能力。其不但提供對象遷移的詳細狀態、進展、詳情,還通過監控和日誌透露後臺線程的內部執行情況,幫助用戶全方位追蹤遷移進展。同時,還針對運行過程中可能出現的異常情況,提供基礎診斷能力,及修複、跳過、移除等多種修複策略和遷移限流能力,讓用戶能夠自主快速得診斷並修複鏈路,保障遷移穩定性。

 

3. 總結

NineData 提供的高效、快速、穩定的 MySQL 大表遷移能力,很好的補充了傳統遷移方案的不足。當前,NineData 已經支持數十種常見資料庫的遷移複製,同時,除了 SAAS 模式外,還提供了企業專屬集群模式,滿足企業最高的數據安全合規要求。目前,NineData 已在運營商、金融、製造業、地產、電商等多個行業完成大規模應用實踐。如果您感興趣的話,可以登錄官網 https://www.ninedata.cloud/dbmigration,立即開始免費使用。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • <div class="van-cell van-field"> <div class="van-cell__title van-field__label">頭像:</div> <div class="van-cell__value van-field__value"> <div class="va ...
  • Windows服務是在Windows操作系統上,以後臺形式運行的應用程式。最近在公司要求使用Windows服務作為消息隊列的消費端,所以自行研究了一下C#中Windows服務如何創建以及如何使用,以及部署的方式。 ...
  • 哈嘍大家好,我是鹹魚 之前鹹魚在《[Linux 網路收包流程](https://mp.weixin.qq.com/s?__biz=MzkzNzI1MzE2Mw==&mid=2247486122&idx=1&sn=df659a7458028772c9595e98d5cefbc1&chksm=c2930 ...
  • # 一.安裝環境 ## 1.操作系統 **CentOS-7.6-x86_64-DVD-1810.iso** **Root用戶!!!** ## 2.虛擬機設置 ![image](https://img2023.cnblogs.com/blog/2840133/202308/2840133-202308 ...
  • 流量限制模下載和安裝 安裝完成後,可以在IIS管理工具里點擊“Bit Rate Throttling”節點。 根據你的文件及類型配置流量限制規則: 以下白皮書是更多的一些幫助和內容: Bit Rate Throttling Module Setup Bit Rate Throttling Confi ...
  • ![](https://img2023.cnblogs.com/blog/3076680/202308/3076680-20230816163336851-1607680900.png) # 1. 資料庫 ## 1.1. 一組相關信息 ## 1.2. 電話簿肯定是最為普及且常用的資料庫 # 2. 非 ...
  • # mysql代理、中間件技術 ## 代理簡介 **名詞** DB proxy 資料庫中間件 **功能** 讀寫分離:讀寫分離導致處理速度迅速,一般情況下是主伺服器進行寫操作而從伺服器進行讀操作 負載均衡 支持數據的分片自動路由和聚合 **本文主要圍繞Mycat實現、且在完成MM-SS集群的條件下* ...
  • ![file](https://img2023.cnblogs.com/other/2685289/202308/2685289-20230817174410327-1799604230.png) Apache DolphinScheduler 3.2.0 版本已經呼之欲出,8 月 中下旬,這個大版 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...