雲數據遷移(Cloud Data Migration,CDM)

雲數據遷移(Cloud Data Migration,CDM)

雲數據遷移(Cloud Data Migration,CDM)提供同構/異構數據源之間批量數據遷移服務,幫助客戶實現數據自由流動。支持客戶自建和公有云上的文件系統,關係數據庫,數據倉庫,NoSQL,大數據雲服務,對象存儲等數據源。數據庫

CDM服務基於分佈式計算框架,利用並行化處理技術,支持用戶穩定高效地對海量數據進行移動,實現不停服數據遷移,快速構建所需的數據架構。緩存

 圖1   CDM定位   
1561103721993622.png安全

產品功能

  • 表/文件/整庫遷移

    支持批量遷移表或者文件,還支持同構/異構數據庫之間整庫遷移,一個做業便可遷移幾百張表。服務器

  • 增量數據遷移

    支持文件增量遷移、關係型數據庫增量遷移、HBase/CloudTable增量遷移,以及使用Where條件配合時間變量函數實現增量數據遷移。網絡

  • 事務模式遷移

    支持當CDM做業執行失敗時,將數據回滾到做業開始以前的狀態,自動清理目的表中的數據。架構

  • 字段轉換

    支持去隱私、字符串操做、日期操做等經常使用字段的數據轉換功能。框架

  • 文件加密

    在遷移文件到文件系統時,CDM支持對寫入雲端的文件進行加密。運維

  • MD5校驗一致性

    支持使用MD5校驗,檢查端到端文件的一致性,並輸出校驗結果。分佈式

  • 髒數據歸檔

    支持將遷移過程當中處理失敗的、被清洗過濾掉的、不符合字段轉換或者不符合清洗規則的數據單獨歸檔到髒數據日誌中,便於用戶查看。並支持設置髒數據比例閾值,來決定任務是否成功。ide



產品優點


用戶在雲上進行數據集成、數據備份、新應用開發時,常常會涉及到數據遷移。一般狀況下用戶要進行數據遷移,會開發一些數據遷移腳本,從源端讀取數據再寫入目的端,相對這樣傳統的作法,CDM的優點如  表1  所示。

         

表1   CDM優點

優點項

用戶自行開發

CDM

易使用

自行準備服務器資源,安裝配置必要的軟件並進行配置,等待時間長。

程序在讀寫兩端會根據數據源類型,使用不一樣的訪問接口,通常是數據源提供的對外接口,例如JDBC、原生API等,所以在開發腳本時須要依賴大量的庫、SDK等,開發管理成本較高。

CDM提供了Web化的管理控制檯,經過Web頁實時開通服務。

用戶只須要經過可視化界面對數據源和遷移任務進行配置,服務會對數據源和任務進行全面的管理和維護,用戶只需關注數據遷移的具體邏輯,而不用關心環境等問題,極大下降了開發維護成本。

CDM還提供了REST API,支持第三方系統調用和集成。

實時監控

須要自行選型開發。

您可使用雲監控服務監控您的CDM集羣,執行自動實時監控、告警和通知操做,幫助您更好地瞭解CDM集羣的各項性能指標。

免運維

須要自行開發完善運維功能,自行保證系統可用性,尤爲是告警及通知功能,不然只能人工值守。

使用CDM服務,用戶不須要維護服務器、虛擬機等資源。CDM的日誌,監控和告警功能,有異常能夠及時通知相關人員,避免7*24小時人工值守。

高效率

在遷移過程當中,數據讀寫過程都是由一個單一任務完成的,受限於資源,總體性能較低,對於海量數據場景每每不能知足要求。

CDM任務基於分佈式計算框架,自動將任務切分爲獨立的子任務並行執行,可以極大提升數據遷移的效率。針對Hive、HBase、MySQL、DWS(數據倉庫服務)數據源,使用高效的數據導入接口導入數據。

多種數據源支持

數據源類型繁雜,針對不一樣數據源開發不一樣的任務,腳本數量成千上萬。

支持數據庫、Hadoop、NoSQL、數據倉庫、文件等多種類型的數據源,具體數據類型請參見  CDM支持的數據源  。

多種網絡環境支持

隨着雲計算技術的發展,用戶數據可能存在於各類環境中,例如公有云、自建/託管IDC、混合場景等。在異構環境中進行數據遷移須要考慮網絡連通性等因素,給開發和維護都帶來較大難度。

不管數據是在用戶本地自建的IDC中(Internet Data Center,互聯網數據中心)、雲服務中、第三方雲中,或者使用ECS自建的數據庫或文件系統中,CDM都可幫助用戶輕鬆應對各類數據遷移場景,包括數據上雲,雲上數據交換,以及雲上數據迴流本地業務系統。


CDM支持的數據源


CDM有兩種遷移方式,支持的數據源不相同:

  • 表/文件遷移:  適用於數據上雲、雲服務間數據交換、雲上數據迴流到本地業務系統。  請參見  表/文件遷移支持的數據類型  。
  • 整庫遷移:適用於數據庫上雲,請參見  整庫遷移支持的數據類型  。

         

表/文件遷移支持的數據類型

表/文件遷移時支持的數據源如        表1  所示。

             

表1   表/文件遷移支持的數據源

數據源分類

數據源

做爲源端

做爲目的端

數據倉庫

數據倉庫服務(DWS)

支持

支持

數據湖探索(DLI)

不支持

支持

FusionInsight LibrA

支持

支持

Hadoop

MRS HDFS

支持

支持

MRS HBase

支持

支持

MRS Hive

支持

支持

FusionInsight HDFS

支持

支持

Apache HDFS

支持

支持

Hadoop HBase

支持

支持

FusionInsight HBase

支持

支持

對象存儲

對象存儲服務(OBS)

支持

支持

阿里雲對象存儲(OSS)

支持

不支持

七牛雲對象存儲(KODO)

支持

不支持

亞馬遜對象存儲S3

支持

不支持

文件系統

FTP

支持

支持

SFTP

支持

支持

HTTP

支持

不支持

網絡附加存儲(NAS)

支持

支持

彈性文件服務(SFS Turbo)

支持

支持

關係數據庫

雲數據庫 MySQL

支持

支持

雲數據庫 PostgreSQL

支持

支持

雲數據庫 SQL Server

支持

支持

分佈式數據庫中間件(DDM)

支持

支持

MySQL

支持

支持

PostgreSQL

支持

不支持

Microsoft SQL Server

支持

不支持

Oracle

支持

不支持

IBM Db2

支持

不支持

Derecho(GaussDB)

支持

不支持

NoSQL

分佈式緩存服務(DCS)

不支持

支持

文檔數據庫服務(DDS)

支持

支持

表格存儲服務(CloudTable)

支持

支持

OpenTSDB

支持

支持

Redis

支持

不支持

MongoDB

支持

不支持

搜索

雲搜索服務(CSS)

支持

支持

Elasticsearch

支持

支持

消息系統

數據接入服務(DIS)

支持

支持

Apache Kafka

支持

支持

DMS Kafka

支持

支持

1561103888464117.png          說明:        

  • 上表中非雲服務的數據源,例如MySQL,既能夠支持用戶本地數據中心自建的MySQL,也能夠是用戶在ECS上自建的MySQL,還能夠是第三方雲的MySQL服務。
  • 消息系統(DIS/Apache Kafka/DMS Kafka)做爲源端時,CDM僅支持遷移到如下類型的數據源:
    • 雲搜索服務(CSS)
    • 數據接入服務(DIS)
    • Apache Kafka
    • DMS Kafka

         

整庫遷移支持的數據類型

整庫遷移適用於將本地數據中心或在ECS上自建的數據庫,同步到雲上的數據庫服務或大數據服務中,適用於數據庫離線遷移場景,不適用於在線實時遷移。  CDM支持整庫遷移的數據源如        圖1  所示。

                圖1   CDM支持整庫遷移的數據源         
1561103888335163.png


應用場景


 

本地數據遷移上雲

本地數據是指存儲在用戶自建或者租用的IDC中的數據,或者第三方雲環境中的數據,包括關係型數據庫、NoSQL數據庫、OLAP數據庫、文件系統等。

這個場景是用戶但願利用雲上的計算和存儲資源,須要先將本地數據遷移上雲。該場景下,須要保證本地網絡與雲上網絡是連通的。

 圖1   本地數據遷移到公有云       
1561103981104547.png

雲上服務之間數據遷移

這個場景是面向數據已經存儲在雲上的用戶,支持用戶完成如下雲服務之間的數據交換:

  • 對象存儲服務(Object Storage Service,簡稱OBS)
  • 關係型數據庫服務(Relational Database Service,簡稱RDS)
  • MapReduce服務(MapReduce Service,簡稱MRS)
  • 數據倉庫服務(Data Warehouse Service,簡稱DWS)
  • 文檔數據庫服務(Document Database Service,簡稱DDS)
  • 分佈式緩存服務(Distributed Cache Service,簡稱DCS)
  • 雲搜索服務(Cloud Search Service,簡稱CSS)
  • 數據接入服務(Data Ingestion Service,簡稱DIS)
  • 表格存儲服務(CloudTable Service,簡稱CloudTable)
  • 數據湖探索服務(Data Lake Insight,簡稱DLI)
  • 分佈式數據庫中間件(Distributed Database Middleware,簡稱DDM)
  • 彈性文件服務(Scalable File Service,簡稱SFS)
  • 在彈性雲服務器上部署的各類數據庫或文件系統。

雲上數據遷移到本地環境

本地環境是指用戶自建或者租用的IDC(Internet Data Center,互聯網數據中心)中的數據存儲系統,或者第三方雲環境中的數據存儲系統,包括關係型數據庫以及文件系統。

這個場景是用戶在使用雲上計算資源對海量數據進行處理後,將結果數據迴流到本地業務系統,主要是各類關係型數據庫和文件系統。該場景下,須要保證本地環境的網絡與雲上網絡是連通的。

 圖2   雲端數據遷移到本地       
1561103983916935.png


CDM遷移原理


CDM遷移原理

用戶使用CDM服務時,CDM管理系統在用戶VPC中發放全託管的CDM實例。此實例僅提供控制檯和Rest API訪問權限,用戶沒法經過其餘接口(如SSH)訪問實例。這種方式保證了CDM用戶間的隔離,避免數據泄漏,同時保證VPC內不一樣華爲雲服務間數據遷移時的傳輸安全。用戶還可使用***網絡將本地數據中心的數據遷移到華爲雲服務,具備高度的安全性。

CDM數據遷移以抽取-寫入模式進行。CDM首先從源端抽取數據而後將數據寫入到目的端,數據訪問操做均由CDM主動發起,對於數據源(如RDS數據源)支持SSL時,會使用SSL加密傳輸。遷移過程要求用戶提供源端和目的端數據源的用戶名和密碼,這些信息將存儲在CDM實例的數據庫中。保護這些信息對於CDM安全相當重要。

 圖1   CDM遷移原理   
1561104083548644.png

安全邊界和風險規避

 圖2   風險規避   
1561104083170266.png

如  圖2  所示,CDM可能存在如下威脅:

  1. 互聯網威脅:惡意用戶可能經過CDM控制檯***CDM。
  2. 數據中心威脅:惡意CDM管理員獲取用戶的數據源訪問信息(用戶名和密碼)。
  3. 惡意用戶威脅:惡意用戶竊取其餘用戶的數據。
  4. 數據暴露公網:從公網遷移數據時暴漏數據的威脅。

對於這些潛在的威脅,CDM提供如下機制來規避終端用戶的風險:

  1. 針對互聯網威脅:用戶不能直接經過公網登陸CDM控制檯。CDM提供雙層安全保障機制。
    1. 華爲雲控制檯框架要求用戶訪問任何控制檯頁面都要進行用戶認證。
    2. Web應用防火牆(Web Application Firewall,簡稱WAF)過濾全部控制檯的請求內容並中止請求***代碼/內容。
  2. 針對數據中心威脅:用戶必須向CDM系統提供遷移源端和目的端的訪問用戶名和密碼信息,才能完成數據遷移。避免CDM管理員獲取此類信息並***用戶的重要數據源對於CDM很是重要,CDM爲此類信息提供三級保護機制。
    1. CDM在本地數據庫中存儲通過AES-256加密的密碼,確保用戶隔離。本地數據庫使用用戶Ruby運行,數據庫僅偵聽127.0.0.1,用戶沒有遠程訪問數據庫的權限。
    2. 用戶實例發放完畢後,CDM將虛擬機的root和Ruby用戶密碼更改成隨機密碼且不會保存在任何地方,以阻止CDM管理員訪問用戶實例和含有密碼信息的數據庫。
    3. CDM實例遷移以推拉模式進行,所以CDM實例在VPC上沒有偵聽端口,用戶沒法從VPC訪問本地數據庫或操做系統。
  3. 針對惡意用戶的威脅:CDM對每一個用戶,使用單獨的虛擬機來運行各自的CDM實例,用戶之間的實例是徹底隔離和安全的。惡意用戶沒法訪問其餘用戶的實例。
  4. 針對數據暴漏公網的威脅:CDM的抽取-寫入模型下,即便CDM綁定了彈性IP,也不會開放端口到彈性IP,***者沒法經過彈性IP來訪問和***CDM。不過從公網遷移數據的方式下,因爲用戶數據源也會暴漏在公網,存在被第三方***的威脅,推薦用戶在數據源服務器上經過ACL或防火牆對源端進行防禦,例如僅放通來自CDM綁定的彈性IP的訪問請求。
相關文章
相關標籤/搜索