閱讀534 返回首頁    go 微軟 go windows


增量同步__進階與深入_數據集成-阿裏雲

增量數據同步是數據同步業務層麵實現,具體到底層數據同步分為批量Snapshot同步以及變更操作日誌同步。CDP Job通過數據存儲數據API接口完成批量數據同步功能,因此CDP Job本身不支持獲取數據存儲係統層麵的變化過程。例如CDP無法通過獲取解析RDS BinLog日誌反查數據變化量並同步到目的數據源。

用戶的增量業務需求,不僅僅隻能通過係統級別增量變化日誌解析實現數據增量同步。實際上,業界對於增量同步有諸多解決方案:

  • 時間戳方式:它是一種基於快照比較的變化數據捕獲方式,在源表上增加一個時間戳字段,係統中更新修改表數據的時候,同時修改時間戳字段的值。當進行數據抽取時,通過比較上次抽取時間與時間戳字段的值來決定抽取哪些數據。有的數據庫的時間戳支持自動更新,即表的其它字段的數據發生改變時,自動更新時間戳字段的值。有的數據庫不支持時間戳的自動更新,這就要求業務係統在更新業務數據時,手工更新時間戳字段。在阿裏數據庫使用實踐中,所有的在線業務係統按慣例都默認添加了create_time、modify_time,對於在線業務寫入均自動修改上述兩個字段,記錄修改時間。CDP在進行數據同步過程中,僅需要在Mysql抽取環節配置where過濾條件做增量抽取。
  • 觸發器方式:抽取的表上建立需要的觸發器,一般要建立插入、修改、刪除三個觸發器,每當源表中的數據發生變化,就被相應的觸發器將變化的數據寫入一個臨時表,抽取線程從臨時表中抽取數據,臨時表中抽取過的數據被標記或刪除。對於此類應用方式,CDP在進行數據同步時僅需指定抽取觸發器寫入表即可。
  • 表方式:在業務係統中添加係統日誌表,當業務數據發生變化時,更新維護日誌表內容,當作ETL 加載時,通過讀日誌表數據決定加載那些數據及如何加載。對於此類應用方式,CDP同樣使用Where過濾條件做增量抽取。
  • 日誌表方式:在業務係統中添加係統日誌表,當業務數據發生變化時,更新維護日誌表內容,當作ETL 加載時,通過讀日誌表數據決定加載那些數據及如何加載。對於此類應用方式,CDP同樣使用Where過濾條件做增量抽取。

最後更新:2016-05-06 10:43:33

  上一篇:go 唯一性保證__進階與深入_數據集成-阿裏雲
  下一篇:go 髒數據和容錯__進階與深入_數據集成-阿裏雲