debezium-資料實時捕獲和傳輸管道(CDC)

德哥發表於2017-10-28

標籤

PostgreSQL , debezium , kafka , CDC


背景

在業務系統中,會涉及到多個資料來源的資料流轉,例如線上系統的資料流轉到分析系統、流計算系統、搜尋引擎、快取系統、事件處理系統等。

為了實現這一目的,CDC系統應運而生,CDC系統用於捕獲上游資料的實時變化(已提交的資料),寫入訊息佇列(例如KAFKA)持久化。下游系統,消費訊息佇列的資料。從而實現實時的資料流轉。

pic

debezium是一個開源的分散式CDC系統,支援對接各種資料來源,將上游已持久化的資料變更捕獲後寫入訊息佇列。

https://github.com/debezium/debezium

上游是PostgreSQL、MySQL時,支援通過WAL、BINLOG實時捕獲已提交事務資料。

https://github.com/debezium/postgres-decoderbufs

通過這種方法,可以將資料從MySQL實時同步到PostgreSQL,或者從其他系統,將資料實時同步到PostgreSQL。

由於PostgreSQL的功能強大,支援平行計算、空間資料處理、文字分析、資料探勘、機器學習、複雜查詢、冷熱分離儲存、分散式架構(citus, greenplum, xl)等。

PostgreSQL可以用於這些系統的中心資料庫(分析、複雜查詢、挖掘),搜尋引擎(全文檢索、模糊檢索、相似檢索),實時預警(流式事件處理),空間資料庫(PostGIS空間資料實時處理)。

pic


相關文章