雲資料遷移(Cloud Data Migration,CDM)
雲資料遷移(Cloud Data Migration,CDM)
雲資料遷移(Cloud Data Migration,CDM)提供同構/異構資料來源之間批次資料遷移服務,幫助客戶實現資料自由流動。支援客戶自建和公有云上的檔案系統,關聯式資料庫,資料倉儲,NoSQL,大資料雲服務,物件儲存等資料來源。
CDM服務基於分散式計算框架,利用並行化處理技術,支援使用者穩定高效地對海量資料進行移動,實現不停服資料遷移,快速構建所需的資料架構。
產品功能
-
表/檔案/整庫遷移
支援批次遷移表或者檔案,還支援同構/異構資料庫之間整庫遷移,一個作業即可遷移幾百張表。
-
增量資料遷移
支援檔案增量遷移、關係型資料庫增量遷移、HBase/CloudTable增量遷移,以及使用Where條件配合時間變數函式實現增量資料遷移。
-
事務模式遷移
支援當CDM作業執行失敗時,將資料回滾到作業開始之前的狀態,自動清理目的表中的資料。
-
欄位轉換
支援去隱私、字串操作、日期操作等常用欄位的資料轉換功能。
-
檔案加密
在遷移檔案到檔案系統時,CDM支援對寫入雲端的檔案進行加密。
-
MD5校驗一致性
支援使用MD5校驗,檢查端到端檔案的一致性,並輸出校驗結果。
-
髒資料歸檔
支援將遷移過程中處理失敗的、被清洗過濾掉的、不符合欄位轉換或者不符合清洗規則的資料單獨歸檔到髒資料日誌中,便於使用者檢視。並支援設定髒資料比例閾值,來決定任務是否成功。
產品優勢
使用者在雲上進行資料整合、資料備份、新應用開發時,經常會涉及到資料遷移。通常情況下使用者要進行資料遷移,會開發一些資料遷移指令碼,從源端讀取資料再寫入目的端,相對這樣傳統的做法,CDM的優勢如 表1 所示。
優勢項 |
使用者自行開發 |
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支援的資料來源
- 表/檔案遷移: 適用於資料上雲、雲服務間資料交換、雲上資料迴流到本地業務系統。 請參見 表/檔案遷移支援的資料型別 。
- 整庫遷移:適用於資料庫上雲,請參見 整庫遷移支援的資料型別 。
表/檔案遷移支援的資料型別
資料來源分類 |
資料來源 |
作為源端 |
作為目的端 |
---|---|---|---|
資料倉儲 |
資料倉儲服務(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 |
支援 |
支援 |
- 上表中非雲服務的資料來源,例如MySQL,既可以支援使用者本地資料中心自建的MySQL,也可以是使用者在ECS上自建的MySQL,還可以是第三方雲的MySQL服務。
-
訊息系統(DIS/Apache Kafka/DMS Kafka)作為源端時,CDM僅支援遷移到以下型別的資料來源:
- 雲搜尋服務(CSS)
- 資料接入服務(DIS)
- Apache Kafka
- DMS Kafka
整庫遷移支援的資料型別
應用場景
本地資料遷移上雲
本地資料是指儲存在使用者自建或者租用的IDC中的資料,或者第三方雲環境中的資料,包括關係型資料庫、NoSQL資料庫、OLAP資料庫、檔案系統等。
這個場景是使用者希望利用雲上的計算和儲存資源,需要先將本地資料遷移上雲。該場景下,需要保證本地網路與雲上網路是連通的。
雲上服務之間資料遷移
- 物件儲存服務(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,網際網路資料中心)中的資料儲存系統,或者第三方雲環境中的資料儲存系統,包括關係型資料庫以及檔案系統。
這個場景是使用者在使用雲上計算資源對海量資料進行處理後,將結果資料迴流到本地業務系統,主要是各種關係型資料庫和檔案系統。該場景下,需要保證本地環境的網路與雲上網路是連通的。
CDM遷移原理
CDM遷移原理
使用者使用CDM服務時,CDM管理系統在使用者VPC中發放全託管的CDM例項。此例項僅提供控制檯和Rest API訪問許可權,使用者無法透過其他介面(如SSH)訪問例項。這種方式保證了CDM使用者間的隔離,避免資料洩漏,同時保證VPC內不同華為雲服務間資料遷移時的傳輸安全。使用者還可以使用VPN網路將本地資料中心的資料遷移到華為雲服務,具有高度的安全性。
CDM資料遷移以抽取-寫入模式進行。CDM首先從源端抽取資料然後將資料寫入到目的端,資料訪問操作均由CDM主動發起,對於資料來源(如RDS資料來源)支援SSL時,會使用SSL加密傳輸。遷移過程要求使用者提供源端和目的端資料來源的使用者名稱和密碼,這些資訊將儲存在CDM例項的資料庫中。保護這些資訊對於CDM安全至關重要。
圖1
CDM遷移原理
安全邊界和風險規避
圖2
風險規避
如 圖2 所示,CDM可能存在以下威脅:
- 網際網路威脅:惡意使用者可能透過CDM控制檯攻擊CDM。
- 資料中心威脅:惡意CDM管理員獲取使用者的資料來源訪問資訊(使用者名稱和密碼)。
- 惡意使用者威脅:惡意使用者竊取其他使用者的資料。
- 資料暴露公網:從公網遷移資料時暴漏資料的威脅。
對於這些潛在的威脅,CDM提供以下機制來規避終端使用者的風險:
-
針對網際網路威脅:使用者不能直接透過公網登入CDM控制檯。CDM提供雙層安全保障機制。
- 華為雲控制檯框架要求使用者訪問任何控制檯頁面都要進行使用者認證。
- Web應用防火牆(Web Application Firewall,簡稱WAF)過濾所有控制檯的請求內容並停止請求攻擊程式碼/內容。
-
針對資料中心威脅:使用者必須向CDM系統提供遷移源端和目的端的訪問使用者名稱和密碼資訊,才能完成資料遷移。避免CDM管理員獲取此類資訊並攻擊使用者的重要資料來源對於CDM非常重要,CDM為此類資訊提供三級保護機制。
- CDM在本地資料庫中儲存經過AES-256加密的密碼,確保使用者隔離。本地資料庫使用使用者Ruby執行,資料庫僅偵聽127.0.0.1,使用者沒有遠端訪問資料庫的許可權。
- 使用者例項發放完畢後,CDM將虛擬機器的root和Ruby使用者密碼更改為隨機密碼且不會儲存在任何地方,以阻止CDM管理員訪問使用者例項和含有密碼資訊的資料庫。
- CDM例項遷移以推拉模式進行,因此CDM例項在VPC上沒有偵聽埠,使用者無法從VPC訪問本地資料庫或作業系統。
- 針對惡意使用者的威脅:CDM對每個使用者,使用單獨的虛擬機器來執行各自的CDM例項,使用者之間的例項是完全隔離和安全的。惡意使用者無法訪問其他使用者的例項。
- 針對資料暴漏公網的威脅:CDM的抽取-寫入模型下,即使CDM繫結了彈性IP,也不會開放埠到彈性IP,攻擊者無法透過彈性IP來訪問和攻擊CDM。不過從公網遷移資料的方式下,由於使用者資料來源也會暴漏在公網,存在被第三方攻擊的威脅,推薦使用者在資料來源伺服器上透過ACL或防火牆對源端進行防護,例如僅放通來自CDM繫結的彈性IP的訪問請求。
About Me
........................................................................................................................ ● 本文作者:小麥苗,部分內容整理自網路,若有侵權請聯絡小麥苗刪除 ● 本文在itpub( http://blog.itpub.net/26736162 )、部落格園( http://www.cnblogs.com/lhrbest )和個人weixin公眾號( xiaomaimiaolhr )上有同步更新 ● 本文itpub地址: http://blog.itpub.net/26736162 ● 本文部落格園地址: http://www.cnblogs.com/lhrbest ● 本文pdf版、個人簡介及小麥苗雲盤地址: http://blog.itpub.net/26736162/viewspace-1624453/ ● 資料庫筆試面試題庫及解答: http://blog.itpub.net/26736162/viewspace-2134706/ ● DBA寶典今日頭條號地址: ........................................................................................................................ ● QQ群號: 230161599 (滿) 、618766405 ● weixin群:可加我weixin,我拉大家進群,非誠勿擾 ● 聯絡我請加QQ好友 ( 646634621 ) ,註明新增緣由 ● 於 2019-06-01 06:00 ~ 2019-06-30 24:00 在西安完成 ● 最新修改時間:2019-06-01 06:00 ~ 2019-06-30 24:00 ● 文章內容來源於小麥苗的學習筆記,部分整理自網路,若有侵權或不當之處還請諒解 ● 版權所有,歡迎分享本文,轉載請保留出處 ........................................................................................................................ ● 小麥苗的微店 : ● 小麥苗出版的資料庫類叢書 : http://blog.itpub.net/26736162/viewspace-2142121/ ● 小麥苗OCP、OCM、高可用網路班 : http://blog.itpub.net/26736162/viewspace-2148098/ ● 小麥苗騰訊課堂主頁 : https://lhr.ke.qq.com/ ........................................................................................................................ 使用 weixin客戶端 掃描下面的二維碼來關注小麥苗的weixin公眾號( xiaomaimiaolhr )及QQ群(DBA寶典)、新增小麥苗weixin, 學習最實用的資料庫技術。
........................................................................................................................ |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26736162/viewspace-2648362/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Laravel migration (資料庫遷移) 的使用Laravel資料庫
- iOS Core Data 資料遷移 指南iOS
- 遷移執行緒migration執行緒
- 騰訊雲 雲資料庫遷移資料庫
- 雲資料庫管理與資料遷移資料庫
- Oracle資料表預設值列新增與行遷移(Row Migration)Oracle
- Core Data資料遷移及單元測試
- CDM(Conceptual Data Model,概念資料模型)和 PDM(Physical Data Model,物理資料模型)模型
- [Database Migration] 記一次未達預期的資料庫遷移Database資料庫
- 在非 laravel 專案中使用 laravel 的特性 4: 資料庫遷移 migrationLaravel資料庫
- 遷移資料.
- 【遷移】使用rman遷移資料庫資料庫
- PgSQL·最佳實踐·雲上的資料遷移SQL
- 【資料遷移】使用傳輸表空間遷移資料
- Kafka資料遷移Kafka
- 資料庫遷移資料庫
- redis資料遷移Redis
- 轉資料遷移
- ORACLE 資料遷移Oracle
- DXWB 資料遷移
- 資料的遷移
- Harbor資料遷移
- 【資料遷移】RMAN遷移資料庫到ASM(三)遷移onlinelog等到ASM資料庫ASM
- AWR快照資料遷移(Transporting Automatic Workload Repository Data)
- 利用Oracle Data Guard完成跨平臺的資料庫遷移案例Oracle資料庫
- A Data Migration for Every Django ProjectDjangoProject
- Row Migration and Row Chaining(行遷移和行連結)AI
- 資料遷移(1)——通過資料泵表結構批量遷移
- 跨雲Data Cloud | 下一代資料分析技術-資料虛擬化Cloud
- gitlab資料遷移Gitlab
- 資料庫遷移 :理解資料庫
- Mysql資料遷移方法MySql
- Fastdfs資料遷移方案AST
- 【Redis】 redis資料遷移Redis
- 【Hive】hive資料遷移Hive
- laravel資料庫遷移Laravel資料庫
- Odoo遷移資料庫Odoo資料庫
- exp,imp 遷移資料