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

尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️

加入LINE好友

由於雲的便利性及高可靠等特性,越來越多的企業客戶選擇上雲。大家上雲遇到的第一個問題就是如何在業務不受影響的情況下,平滑得完成業務的上雲遷移。在上雲過程中,最重要的環節是數據遷移。阿里雲數據傳輸服務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,進行數據庫不停服遷移的大致流程分為如下幾個階段:

  1. 準備工作,包括目標數據庫、源數據庫及目標數據庫的遷移帳號
  2. 結構遷移,DTS將源數據庫的結構對象遷移到目標數據庫
  3. 全量數據遷移,DTS將源數據庫的歷史數據遷移到目標數據庫
  4. 增量數據遷移,DTS將源數據庫的增量數據遷移至目標數據庫。增量數據遷移分為兩步:增量數據拉取,增量數據同步。為保證遷移數據完整性,在結構遷移啟動時,DTS同時啟動增量數據拉取,實時捕獲源實例在結構及全量數據遷移過程中產生的增量數據 。
  5. 數據校驗,用戶對源數據庫及目標數據庫進行遷移數據的一致性校驗
  6. 業務切換,選擇業務低峰期,當DTS增量遷移無延遲時,將業務指向目標數據庫

整個數據遷移期間,源數據庫正常提供服務,只是在業務切換階段,將業務指向目標數據庫。

基本原理

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

1. 結構遷移

上雲第一步,阿裡雲數據傳輸服務DTS上雲攻略之遷移能力

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

2. 全量數據遷移

上雲第一步,阿裡雲數據傳輸服務DTS上雲攻略之遷移能力

全量數據遷移階段,DTS將源數據庫中的歷史數據遷移至目標實例。基於表切片技術,做到表內並發,最大程度提升遷移速度。

同時,DTS還支持斷點續傳,當網路、源實例或目標實例出現異常導致遷移中斷時,異常恢復後,DTS可從斷點恢復進行數據續傳,極大程度降低遷移工作量。

3. 增量數據遷移

上雲第一步,阿裡雲數據傳輸服務DTS上雲攻略之遷移能力

增量數據遷移階段DTS會實時捕獲源數據庫的變更數據,並實時同步到目標數據庫。

基於事務衝突算法,DTS可做到基於事務級別的並發寫入策略, 保證事務順序性的情況下,有效提升同步性能。

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

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

準備工作

在配置DTS任務之前,需要開通其他雲廠商的RDS實例的外網地址。

當然,除了通過公網訪問外,DTS支持通過專線,VPN網關等硬件設備訪問其他雲廠商的RDS實例。

遷移步驟

進入阿里雲 數據傳輸 DTS 控制台,點擊右上角的 創建遷移任務,開始任務配置。

  1. 配置源MySQL 實例及目標 RDS for MySQL 實例連接信息配置
  2. 在這個步驟中,主要配置遷移任務名稱,遷移源實例及目標實例連接信息。其中:
  • 任務名稱
  • 默認情況下,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上雲攻略之最佳實踐、實操手冊、解決方案等系列文章,敬請期待!

https://dts.console.aliyun.com/

​了解DTS產品詳情,請戳→這里

https://www.aliyun.com/product/dts

即刻體驗DTS 1元首購 戳→我直達

https://common-buy.aliyun.com/

About 尋夢園
尋夢園是台灣最大的聊天室及交友社群網站。 致力於發展能夠讓會員們彼此互動、盡情分享自我的平台。 擁有數百間不同的聊天室 ,讓您隨時隨地都能找到志同道合的好友!