debezium - 數據實時捕獲和傳輸管道(CDC)
標簽
PostgreSQL , debezium , kafka , CDC
背景
在業務係統中,會涉及到多個數據源的數據流轉,例如在線係統的數據流轉到分析係統、流計算係統、搜索引擎、緩存係統、事件處理係統等。
為了實現這一目的,CDC係統應運而生,CDC係統用於捕獲上遊數據的實時變化(已提交的數據),寫入消息隊列(例如KAFKA)持久化。下遊係統,消費消息隊列的數據。從而實現實時的數據流轉。
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空間數據實時處理)。
最後更新:2017-10-29 00:04:24