上雲第一步,阿里雲資料傳輸服務DTS上雲攻略之遷移能力
由於雲的便利性及高可靠等特性,越來越多的企業客戶選擇上雲。大家上雲遇到的第一個問題就是如何在業務不受影響的情況下,平滑得完成業務的上雲遷移。在上雲過程中,最重要的環節是資料遷移。阿里雲資料傳輸服務DTS提供的不停服資料遷移能力,能夠在源資料庫正常提供服務的情況下,平滑得完成業務的上雲遷移。
停服遷移 — 傳統資料庫遷移方案
為滿足不同的使用者場景,市面上湧現出多種多樣的資料庫引擎。為了解決使用者資料匯入的訴求,資料庫廠商基本都自帶了資料遷移工具。例如: MySQL的mysqldump,oracle的exp/imp等。
然而,傳統遷移工具通過資料匯出匯入的方式實現存量資料的遷移,為了保證遷移資料的完整性,通常要求源資料庫業務停服,停服時間依賴於存量資料的遷移時間,通常高達數小時,使用者的遷移代價極大。
不停服遷移 — 阿里雲資料傳輸服務DTS
為了降低使用者遷移成本,阿里雲推出資料傳輸服務DTS。DTS支援關係型資料庫、NoSQL、大資料(OLAP)等資料來源間的資料傳輸。 它是一種集資料遷移、資料日誌實時訂閱及資料實時同步於一體的資料傳輸服務。
通過DTS,可以幫助我們完成資料不停服遷移、資料災備、異地多活、業務資料實時同步至資料倉庫、非同步訊息通知及快取更新等業務場景。
DTS提供的資料不停服遷移,可以在源資料庫不停止服務的情況下,平滑得完成資料庫資料的遷移,使用者可以應用在多種場景下的資料遷移:
將線下IDC機房的自建資料庫遷移至阿里雲RDS或者ECS上自建的資料庫。
將其他雲廠商的自建資料庫遷移至阿里雲RDS或者ECS上自建的資料庫。
進行阿里雲跨地區、跨賬號的資料庫遷移。
將阿里雲RDS或ECS上的自建資料庫遷移到線下IDC的測試環境。
DTS支援包含Oracle、MySQL、SQLServer、PostgreSQL、DB2、Redis、MongoDB在內的數十種資料來源。目前已為數萬企業客戶提供資料傳輸服務。
接下來,我們將詳細介紹DTS的基本原理及遷移流程,讓大家更好得了解DTS不停服遷移。
遷移流程
使用DTS,進行資料庫不停服遷移的大致流程分為如下幾個階段:
準備工作,包括目標資料庫、源資料庫及目標資料庫的遷移賬號
結構遷移,DTS將源資料庫的結構物件遷移到目標資料庫
全量資料遷移,DTS將源資料庫的歷史資料遷移到目標資料庫
增量資料遷移,DTS將源資料庫的增量資料遷移至目標資料庫。增量資料遷移分為兩步:增量資料拉取,增量資料同步。為保證遷移資料完整性,在結構遷移啟動時,DTS同時啟動增量資料拉取,實時捕獲源例項在結構及全量資料遷移過程中產生的增量資料 。
資料校驗,使用者對源資料庫及目標資料庫進行遷移資料的一致性校驗
業務切換,選擇業務低峰期,當DTS增量遷移無延遲時,將業務指向目標資料庫
整個資料遷移期間,源資料庫正常提供服務,只是在業務切換階段,將業務指向目標資料庫。
基本原理
本小節,我們將介紹各個遷移階段的基本技術原理。
- 結構遷移
在結構遷移階段,DTS根據源例項的結構定義(例如表、檢視等)在目標例項生成schema。如果是源例項跟目標例項是異構資料來源,DTS需要根據目標例項的schema語法,進行資料型別及SQL語法的轉換。對於部分目標資料來源不相容的物件,可以在DTS控制檯-遷移詳情中進行人工修正後同步至目標例項。
- 全量資料遷移
全量資料遷移階段,DTS將源資料庫中的歷史資料遷移至目標例項。基於表切片技術,實現表內併發,最大程度提升遷移速度。
同時,DTS還支援斷點續傳,當網路、源例項或目標例項出現異常導致遷移中斷時,異常恢復後,DTS可從斷點恢復進行資料續傳,極大程度降低遷移工作量。
- 增量資料遷移
增量資料遷移階段DTS會實時捕獲源資料庫的變更資料,並實時同步到目標資料庫。
基於事務衝突演算法,DTS可實現基於事務級別的併發寫入策略, 保證事務順序性的情況下,有效提升同步效能。
【遷移案例】只需3個步驟,手把手教你get資料庫遷移的正確姿勢
使用DTS使用者只需要三個步驟即可完成整個任務的配置。下面我們將用一個從其他雲廠商RDS遷移到阿里雲RDS的案例來演示DTS的使用方法:
準備工作
在配置DTS任務之前,需要開通其他雲廠商的RDS例項的外網地址。
當然,除了通過公網訪問外,DTS支援通過專線,VPN閘道器等硬體裝置訪問其他雲廠商的RDS例項。
遷移步驟
進入阿里雲 資料傳輸 DTS 控制檯,點選右上角的 建立遷移任務,開始任務配置。
配置源MySQL 例項及目標 RDS for MySQL 例項連線資訊配置
在這個步驟中,主要配置遷移任務名稱,遷移源例項及目標例項連線資訊。其中:
任務名稱
預設情況下,DTS 為每個任務自動生成一個任務名稱。任務名稱沒有唯一性要求,您可以修改這個名稱,為任務配置一個具有業務意義的名稱,便於後續的任務識別。
源例項連線資訊
例項型別:選擇 有公網 IP 的自建資料庫
資料庫型別:選擇 MySQL
主機名或 IP 地址:配置其他雲廠商RDS MySQL的外網地址。
埠:配置其他雲廠商RDS MySQL的例項監聽埠。
賬號:配置其他雲廠商的MySQL 例項訪問賬號
密碼:配置其他雲廠商的 MySQL 訪問賬號對應的密碼
目標 RDS for MySQL 例項連線資訊。
目標例項配置阿里雲RDS的例項連線資訊。具體配置資訊如下:
例項型別:選擇 RDS 例項
RDS例項ID: 配置遷移的目標 RDS 例項的例項 ID。 DTS 支援經典網路、VPC 網路的 RDS for MySQL 例項
資料庫賬號:RDS for MySQL 例項的連線賬號
資料庫密碼:上面指定的資料庫賬號對應的資料庫密碼
2.遷移物件及遷移型別配置
o 遷移型別
DTS 支援 結構遷移、全量資料遷移、增量資料遷移。
為進行不停服遷移,此處選擇:結構遷移+全量資料遷移+增量資料遷移。
o 遷移物件
遷移物件,需要選擇您要遷移的物件。遷移物件選擇的粒度可以為:庫、表、列三個粒度。
當配置完遷移物件及遷移型別後,即進入任務啟動前的預檢查步驟
3.預檢查
在遷移任務正式啟動之前,會先進行前置預檢查,預檢查通過後,可成功啟動遷移。
當預檢查通過後,可以啟動遷移任務,任務啟動後,可以到任務列表中檢視任務具體的遷移狀態及進度。
至此,完成將其他雲廠商MySQL 資料庫例項到阿里雲 RDS for MySQL 的資料遷移任務配置。
總結
作為阿里雲資料傳輸服務DTS上雲攻略系列文章的第一篇,本文介紹了DTS的基本原理,資料庫遷移流程。相信大家已經瞭解到DTS是一款便捷、安全而高效的資料庫遷移利器,可基於DTS的不停服遷移能力,輕鬆邁出業務上雲的第一步。
當然,除了資料遷移的功能外,DTS還支援資料庫日誌實時訂閱,資料實時同步,通過這些功能,使用者可以實現資料災備、異地多活、業務資料實時同步至資料倉庫、非同步訊息通知、快取更新等業務場景。由於篇幅限制,此處不做詳細介紹。
後續我們還將推出DTS上雲攻略之最佳實踐、實操手冊、解決方案等系列文章,敬請期待!
瞭解DTS產品詳情,請戳→這裡
即刻體驗DTS 1元首購 戳→我直達