Debezium
Debezium
【顧客數據管理實例:街口】街口用Kafka自建資料流程,打造即時數據管理大平臺 | iThome
一組軟體程式,用來識別及追蹤資料原地變更並將編燈的內容傳輸到目標端
以前做法
-
Modified Date:基於Table的日期使用SQL去撈資料,人工去寫,刪除資料無法同步(土法煉鋼)
Select * from tableA where updatedatetime > now() -- interval 1 minute
-
Trigger: 侵入式的操作,
會長出一大堆Log
(吃一大堆空間)而且每個都要去客製化,影響現有資料庫效能
-
Log based:交易量大的話會長出一大堆空間來,initial Load 也會跟著變大,也比較適合內部資料庫同步,數十TB倒入到其他伺服器就數小時。
-
Custom scripts:人工
-
省去占用資源且耗時的批次匯入匯出(轉換過程占用DB效能)
-
大幅降低對Production的工作負載干擾
-
即時資料更新,方便後續即時分析,能夠實現更精準的決策
Kafka Connect
掛載在kafka 的Framework
Source Connect 、 Sink Connect 就是把DB的資料Push、Pull都寫好了,只要設定即可。
Debezium Architecture
kafka 變成資料庫資間的停靠站
kafka Source Connector 把資料傳到kafka
kafka Sink Connector 從kafka到想要的目的
Insert、Update、Delete
修改前修改後的會顯示出來 before、after
op:c、u、d (create、update、delete)
SMT (Single Message Transforms)
獲得Event後,傳輸到kafka之前先對資料結構做轉換,已達到指篩選出自己想要的資訊(原資料太龐大)
只顯示出指定的欄位,有助於後續的解析
資料來源:
(17) 整合 CDC 解決方案【Webinar:Greenplum】|歐立威科技 - YouTube
(17) 實時資料分析的前哨戰【Webinar:Kafka+Debezium】 - YouTube