上雲第一步,阿里雲數據傳輸服務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增量遷移無延遲時,將業務指向目標數據庫
整個數據遷移期間,源數據庫正常提供服務,只是在業務切換階段,將業務指向目標數據庫。

基本原理

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

  1. 結構遷移
    上雲第一步,阿里雲數據傳輸服務DTS上雲攻略之遷移能力

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

  1. 全量數據遷移
    上雲第一步,阿里雲數據傳輸服務DTS上雲攻略之遷移能力
    全量數據遷移階段,DTS將源數據庫中的歷史數據遷移至目標實例。基於表切片技術,實現表內併發,最大程度提升遷移速度。
    同時,DTS還支持斷點續傳,當網絡、源實例或目標實例出現異常導致遷移中斷時,異常恢復後,DTS可從斷點恢復進行數據續傳,極大程度降低遷移工作量。

  2. 增量數據遷移
    上雲第一步,阿里雲數據傳輸服務DTS上雲攻略之遷移能力
    增量數據遷移階段DTS會實時捕獲源數據庫的變更數據,並實時同步到目標數據庫。
    基於事務衝突算法,DTS可實現基於事務級別的併發寫入策略, 保證事務順序性的情況下,有效提升同步性能。

【遷移案例】只需3個步驟,手把手教你get數據庫遷移的正確姿勢

使用DTS用戶只需要三個步驟即可完成整個任務的配置。下面我們將用一個從其他雲廠商RDS遷移到阿里雲RDS的案例來演示DTS的使用方法:

準備工作

在配置DTS任務之前,需要開通其他雲廠商的RDS實例的外網地址。
當然,除了通過公網訪問外,DTS支持通過專線,×××網關等硬件設備訪問其他雲廠商的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 實例的連接賬號
數據庫密碼:上面指定的數據庫賬號對應的數據庫密碼
上雲第一步,阿里雲數據傳輸服務DTS上雲攻略之遷移能力
2.遷移對象及遷移類型配置
o 遷移類型
DTS 支持 結構遷移、全量數據遷移、增量數據遷移。
爲進行不停服遷移,此處選擇:結構遷移+全量數據遷移+增量數據遷移。

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

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

總結

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

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

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

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章