亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

DataPipeline丨新型企業數據融合平臺的探索與實踐

發布時間:2020-06-25 03:02:17 來源:網絡 閱讀:438 作者:DataPipeline 欄目:大數據

DataPipeline丨新型企業數據融合平臺的探索與實踐

一、關于數據融合和企業數據融合平臺

數據融合是把不同來源、格式、特點性質的數據在邏輯上或物理上有機地集中,從而為企業提供全面的數據共享。

企業數據融合平臺,通常的表現形態為運行著大量數據同步和轉換任務的分布式系統。其源端一般為各類偏實時的業務數據存儲系統,目的端為各類數據倉庫/對象存儲。

二、企業數據融合平臺的典型架構

下圖為數據融合平臺的典型架構,源端是不同的數據存儲系統,另一端是各種類型的數據倉庫,關系型數據庫或者文件存儲等。中間為數據融合平臺的簡單架構,組件Source connectors負責做數據的采集。

將數據采集之后,會將其做成格式化數據放到Transport Channel,Transport Channel一般會用Source隊列或其它流式數據框架,負責做中間的緩存,包括分布式的支持,數據的分發, sink connectors去負責把數據分別寫入不同的數據目的地。

DataPipeline丨新型企業數據融合平臺的探索與實踐

三、企業數據融合需要解決的關鍵問題

  1. 數據異構問題

面臨繁瑣的數據源和目的地適配以及異構數據源的轉換問題。

  1. 隨時變化的數據結構

數據源結構會隨時發生變化,造成下游寫入失敗。當數據結構發生改變時,需要保證數據像正常一樣,不會出現任何問題。

  1. 數據平臺的擴展性

需要根據業務驅動做水平拓展,甚至需應對一對多的分發要求,另外也需要處理和解決多任務并行的QoS。

  1. 數據一致性

在任何情況下都需要保證數據是一致的,這也是在生產過程中需要保證的問題。

四、消息隊列在數據融合平臺的作用

首先是解耦,消息隊列可以將源端的數據采集跟移動端的數據完全進行解耦。如果數據寫入端出現任何問題,不會影響數據采集的穩定型。

Schema Mapping幫助我們做到了數據源和目的地結構的解耦,減少開發新的connector的復雜度。

同時消息隊列提供了水平拓展和高可用的性質,當需要接入更多數據且系統不能支撐時,我們可以輕易的做水平拓展,支持更大的數據量。

另外,對消息隊列和數據同步一致性的問題做了保證,至少能保證數據同步的順序性。

DataPipeline丨新型企業數據融合平臺的探索與實踐

五、DataPipeline現有架構

下圖為DataPipeline基于Kafka connect消息隊列所做的架構,Kafka本身是一個非常成熟的消息隊列,Kafka connect是其下面的一個子項目,相當于給kafka consumer 和 kafka producer提供了一個封裝,它實現了分布式和高可用,同時幫助我們負責和kakfa進行交互。

DataPipeline丨新型企業數據融合平臺的探索與實踐

六、Kafka connect-offset管理

消費者會有一個offset的概念,用來記錄消費進度,Kafka connect會自動化地做消息offset的管理,它可以等我們消費完一些數據之后,自動提交消費進度,然后在Kafka中做存儲。

在讀取數據的時候, connector會將數據從數據源抽取出來寫到data topic,用來做數據中間的緩存。同時connector在同步過程中也會周期性的將offset提交到offset Topic,相當于每讀取一段時間,存一個存檔點。

DataPipeline丨新型企業數據融合平臺的探索與實踐

周期性的offset提交如果失敗的話,會導致數據任務重啟恢復時無法完全恢復到最后寫入的offset點。這種情況就會導致數據的重復讀取和重復寫入,會出現數據一致性的問題,以下解決方案可以從一定程度上避免這個問題:

  1. 依賴目的地的特性進行去重達到數據的最終一致性,例如: RDBMS用主鍵進行去重。

  2. 依賴消息隊列的事務信息避免源端重復,保證數據寫入和offset寫入的事務性提交。

  3. 目的端在寫入后記錄單獨的offset到redis緩存,并在任務恢復之后根據offset進行過濾,避免重復寫入。減少offset rewind帶來的數據重復,但是由于寫入數據和記錄offset并不是事務操作,所以也不保證exactly once delivery。

  4. 依賴目的地的事務性,在目的地建立臨時空間記錄寫入的offset,并在任務恢復之后根據offset進行過濾,避免重復寫入,可以保證exactly once delivery。但是要求目的地可以支持事務性,并且會在目的地有額外的數據存儲。
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宁夏| 巴林左旗| 金塔县| 南通市| 平乡县| 鹿泉市| 繁峙县| 山西省| 黔南| 衡东县| 佳木斯市| 宕昌县| 新乡市| 晋州市| 安阳市| 江达县| 东丰县| 高州市| 裕民县| 中阳县| 上杭县| 景德镇市| 盐津县| 成安县| 灵丘县| 朝阳县| 湖北省| 龙口市| 滨海县| 浦城县| 囊谦县| 渝中区| 红安县| 灌云县| 丰原市| 治县。| 图们市| 永年县| 桐梓县| 乾安县| 靖边县|