1. 程式人生 > >上雲第一步,阿里雲資料傳輸服務DTS上雲攻略之遷移能力

上雲第一步,阿里雲資料傳輸服務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不停服遷移。

遷移流程

_1

使用DTS,進行資料庫不停服遷移的大致流程分為如下幾個階段:

準備工作,包括目標資料庫、源資料庫及目標資料庫的遷移賬號
結構遷移,DTS將源資料庫的結構物件遷移到目標資料庫
全量資料遷移,DTS將源資料庫的歷史資料遷移到目標資料庫
增量資料遷移,DTS將源資料庫的增量資料遷移至目標資料庫。增量資料遷移分為兩步:增量資料拉取,增量資料同步。為保證遷移資料完整性,在結構遷移啟動時,DTS同時啟動增量資料拉取,實時捕獲源例項在結構及全量資料遷移過程中產生的增量資料 。
資料校驗,使用者對源資料庫及目標資料庫進行遷移資料的一致性校驗
業務切換,選擇業務低峰期,當DTS增量遷移無延遲時,將業務指向目標資料庫
整個資料遷移期間,源資料庫正常提供服務,只是在業務切換階段,將業務指向目標資料庫。

基本原理

本小節,我們將介紹各個遷移階段的基本技術原理。

  1. 結構遷移
    _2

在結構遷移階段,DTS根據源例項的結構定義(例如表、檢視等)在目標例項生成schema。如果是源例項跟目標例項是異構資料來源,DTS需要根據目標例項的schema語法,進行資料型別及SQL語法的轉換。對於部分目標資料來源不相容的物件,可以在DTS控制檯-遷移詳情中進行人工修正後同步至目標例項。

  1. 全量資料遷移
    _3

全量資料遷移階段,DTS將源資料庫中的歷史資料遷移至目標例項。基於表切片技術,實現表內併發,最大程度提升遷移速度。
同時,DTS還支援斷點續傳,當網路、源例項或目標例項出現異常導致遷移中斷時,異常恢復後,DTS可從斷點恢復進行資料續傳,極大程度降低遷移工作量。

  1. 增量資料遷移
    _4
    增量資料遷移階段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 例項的連線賬號
資料庫密碼:上面指定的資料庫賬號對應的資料庫密碼
___1_1_
2.遷移物件及遷移型別配置
o 遷移型別
DTS 支援 結構遷移、全量資料遷移、增量資料遷移。
為進行不停服遷移,此處選擇:結構遷移+全量資料遷移+增量資料遷移。

o 遷移物件
遷移物件,需要選擇您要遷移的物件。遷移物件選擇的粒度可以為:庫、表、列三個粒度。
當配置完遷移物件及遷移型別後,即進入任務啟動前的預檢查步驟

3.預檢查
在遷移任務正式啟動之前,會先進行前置預檢查,預檢查通過後,可成功啟動遷移。
當預檢查通過後,可以啟動遷移任務,任務啟動後,可以到任務列表中檢視任務具體的遷移狀態及進度。
至此,完成將其他雲廠商MySQL 資料庫例項到阿里雲 RDS for MySQL 的資料遷移任務配置。

總結

作為阿里雲資料傳輸服務DTS上雲攻略系列文章的第一篇,本文介紹了DTS的基本原理,資料庫遷移流程。相信大家已經瞭解到DTS是一款便捷、安全而高效的資料庫遷移利器,可基於DTS的不停服遷移能力,輕鬆邁出業務上雲的第一步。

當然,除了資料遷移的功能外,DTS還支援資料庫日誌實時訂閱,資料實時同步,通過這些功能,使用者可以實現資料災備、異地多活、業務資料實時同步至資料倉庫、非同步訊息通知、快取更新等業務場景。由於篇幅限制,此處不做詳細介紹。

後續我們還將推出DTS上雲攻略之最佳實踐、實操手冊、解決方案等系列文章,敬請期待!

瞭解DTS產品詳情,請戳→這裡
即刻體驗DTS 1元首購 戳→我直達