CDC+ETL實現數據集成方案

歡迎諮詢,合做! weix:wonterhtml

名詞解釋:mysql

       CDC又稱變動數據捕獲(Change Data Capture),開啓cdc的源表在插入INSERT、更新UPDATE和刪除DELETE活動時會插入數據到日誌表中。CDC經過捕獲進程將變動數據捕獲到變動表中,經過cdc提供的查詢函數,咱們能夠捕獲這部分數據。sql

       ETL數據倉庫技術(Extract-Transform-Load),它是將數據從源系統加載到數據倉庫的過程。用來描述將數據歷來源端通過萃取(extract)、轉置(transform)、加載(load)至目的端的過程。使用到的工具包含(kettle、flume、sqoop)。數據庫

       Kettle基於JAVA的ETL工具,支持圖形化的GUI設計界面,而後能夠以工做流的形式流轉,在作一些簡單或複雜的數據抽取、質量檢測、數據清洗、數據轉換、數據過濾等方面有着比較穩定的表現。分佈式

       Flume是Cloudera提供的一個高可用的,高可靠的,分佈式的海量日誌採集、聚合和傳輸的系統,Flume支持在日誌系統中定製各種數據發送方,用於收集數據;同時,Flume提供對數據進行簡單處理,並寫到各類數據接受方(可定製)的能力。函數

       Sqoop是Apache開源軟件,主要用於在HADOOP(Hive)與傳統的數據庫(mysql、postgresql…)間進行數據的傳遞。
適用於能與大數據集羣直接通訊的關係數據庫間的大批量數據傳輸。工具

數據集成方案對比oop

       數據集成有兩種方案:post

       一種是經過ESB接口方式進行數據集成,優勢是數據的時效性高,但最大的弊端是依賴於業務系統的接口改造,每每會涉及和廠商的接口費用。另外一種方式就是經過ETL方式抽取數據,並經過CDC方式實現數據實時同步,優勢是不依賴於業務系統,只須要獲取業務系統數據庫權限即可實現集成。大數據

CDC+ETL數據集成方案

 

第一步:經過kettle抽取歷史數據到數倉中間庫。

        支持圖形化的GUI設計界面,方便第一輪實施人員無業務化操做流程,穩定、高效。

 

第二步:業務系統鏡像數據庫啓動CDC功能,並實時同步數據到數倉中間庫。

        該技術經過讀取鏡像數據庫日誌文件,解析回放數據庫操做方式,實現業務數據變動捕獲。日誌讀取、解析、回放等操做都是在鏡像數據庫上進行,業務數據庫只會產生少許的I/O開銷,以最大限度地下降對業務系統的影響。

 

第三步:經過Sqoop從中間庫抽取歷史數據到Haoop。

       使用頤東數倉配置數據目錄映射關係,自動生成跨數據庫抽取的SQL語句。

 

 

 

第四步:基礎表經過CDC功能實時同步數據到Hadoop。

       基礎表爲人員信息表、數據字典表等會常常維護變動的表。

第五步:記錄表經過flume增量實時抽取數據到Hadoop。

       記錄表爲數據攜帶時間戳的表,該表內容變動多以修改操做狀態形式增量添加。

第六步:數據中臺

       數據湖提供數據中臺服務,根據業務活動,自定義勾選數據集市所需字段,生成ElasticSearch索引,並自動生成數據接口。

數據應用

 

 

 

推薦閱讀:

醫院信息集成平臺(ESB)實施、建設方案

醫院信息集成平臺(ESB)數據集成建設方案

怎麼將ETL技術落地

相關文章
相關標籤/搜索