大數(shù)據(jù)DataX(一):DataX的框架設(shè)計(jì)和插件體系 每日熱訊
2023-02-27 17:18:50 來源:騰訊云
【資料圖】
?DataX的框架設(shè)計(jì)和插件體系
一、DataX是什么
DataX 是阿里巴巴集團(tuán)內(nèi)被廣泛使用的離線數(shù)據(jù)同步工具/平臺,實(shí)現(xiàn)包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各種異構(gòu)數(shù)據(jù)源之間高效的數(shù)據(jù)同步功能。
為了解決異構(gòu)數(shù)據(jù)源同步問題,DataX將復(fù)雜的網(wǎng)狀的同步鏈路變成了星型數(shù)據(jù)鏈路,DataX作為中間傳輸載體負(fù)責(zé)連接各種數(shù)據(jù)源。當(dāng)需要接入一個(gè)新的數(shù)據(jù)源的時(shí)候,只需要將此數(shù)據(jù)源對接到DataX,便能跟已有的數(shù)據(jù)源做到無縫數(shù)據(jù)同步。
DataX在阿里巴巴集團(tuán)內(nèi)被廣泛使用,承擔(dān)了所有大數(shù)據(jù)的離線同步業(yè)務(wù),并已持續(xù)穩(wěn)定運(yùn)行了6年之久。目前每天完成同步8w多道作業(yè),每日傳輸數(shù)據(jù)量超過300TB。
DataX目前沒有單獨(dú)的官網(wǎng),DataX的GitHub地址:
https://github.com/alibaba/DataX
二、???????DataX框架設(shè)計(jì)
DataX本身作為離線數(shù)據(jù)同步框架,采用Framework + plugin架構(gòu)構(gòu)建。將數(shù)據(jù)源讀取和寫入抽象成為Reader/Writer插件,納入到整個(gè)同步框架中。
Reader:Reader為數(shù)據(jù)采集模塊,負(fù)責(zé)采集數(shù)據(jù)源的數(shù)據(jù),將數(shù)據(jù)發(fā)送給Framework。Writer: Writer為數(shù)據(jù)寫入模塊,負(fù)責(zé)不斷向Framework取數(shù)據(jù),并將數(shù)據(jù)寫入到目的端。Framework:Framework用于連接reader和writer,作為兩者的數(shù)據(jù)傳輸通道,并處理緩沖,流控,并發(fā),數(shù)據(jù)轉(zhuǎn)換等核心技術(shù)問題。三、??????????????DataX插件體系
經(jīng)過幾年積累,DataX目前已經(jīng)有了比較全面的插件體系,主流的RDBMS數(shù)據(jù)庫、NOSQL、大數(shù)據(jù)計(jì)算系統(tǒng)都已經(jīng)接入。DataX Framework提供了簡單的接口與插件交互,提供簡單的插件接入機(jī)制,只需要任意加上一種插件,就能無縫對接其他數(shù)據(jù)源。
DataX目前支持?jǐn)?shù)據(jù)如下:
以上插件參照地址:
https://github.com/alibaba/DataX/blob/master/introduction.md