構建企業CDC資料湖解決方案 -DZone

banq發表於2021-10-12

CDC(Change Data Capture) 是一個軟體過程,它捕獲源資料庫中所做的更改(DDL 和 DML)以同步另一個資料儲存庫,例如資料庫、記憶體快取、資料倉儲或資料湖。CDC 用於本文不會討論的其他有趣且免費的用例,例如:
  • CQRS 模式:  其中一種實現涉及具有單獨的寫入(命令)和讀取(查詢)資料庫和資料模型。寫層支援插入、更新和刪除操作,讀層支援查詢資料操作。CDC 允許我們將命令操作從寫資料庫複製到讀資料庫。
  • 分析微服務:提供更改事件流以跟蹤何時以及發生哪些更改並分析行為模式。

CDC 是一個很好的解決方案,有四種常見的場景:
  • OLAP資料庫 遷移:在我們將所有或部分工作負載從當前資料倉儲遷移到新的 OLAP 解決方案的情況下。CDC 允許我們將相同的資料複製到兩個系統並使遷移更容易。如今,許多公司正在將工作負載從 OnPremise 資料倉儲遷移到資料雲解決方案。  
  • 將資訊從OLTP 資料庫複製 到 OLAP資料庫:將資料從我們的運算元據庫複製到資料倉儲或資料湖。  
  • 資料庫即服務: 為分析沙箱或預生產沙箱提供我們資料庫的副本。
  • 從單體到微服務的遷移:應用扼殺者模式將我們的單體應用程式逐步遷移到微服務。在第一階段複製兩個應用程式共存所需的一些資料集。

 

企業CDC解決方案
基於此,我們提出以下解決方案架構

構建企業CDC資料湖解決方案 -DZone

  • Debezium 作為 Source聯結器:這一塊將是負責讀取從我們的源資料庫引擎的變化,並將它們傳送到通道。它將作為聯結器部署在我們的Kafka Connect Cluster 中
  • 卡夫卡 作為 Channel:它提供了可以在被部署用於事件的生產/消耗和大的生態系統的聯結器廣泛的API沿著中間儲存卡夫卡連線或在另一平臺上。  
  • Kafka  Sink JDBC(透過Confluent)與 Event flattering SMT (by Debezium)作為Sink Connector:該聯結器允許我們在目標資料庫上執行復制,有幾個配置引數。作為用於全球目的的通用解決方案,它是一個不錯的選擇。在其他情況下,例如 Snowflake 或其他雲服務,JDBC 聯結器的成本效益和效能比供應商本身提供的其他策略更差。評估切換到供應商本身提供的聯結器而不是使用通用 JDBC 的成本收益是很重要的。 
  • Kafka Connect 作為聯結器平臺:它提供了一個框架,可以基於簡單的配置將聯結器部署為外掛,並與我們的 Kafka 完全整合。這是一個非常好的選擇,因為它允許我們標準化接收器/源聯結器管理,例如 Debezium 複製操作和 JDBC 接收器聯結器。

在資料量大、技術多樣的複雜環境中,向新的資料平臺提供資料是一個很大的挑戰。但真正的挑戰是在提供這些資料的同時確保組織做出有價值的決策所需的質量。
準確性、一致性、唯一性或及時性是衡量我們資料質量的一些指標。在我們看來,CDC 而不是其他解決方案,可以讓我們以一種相對簡單的方式來規範 資料攝取並確保資料質量。
更多#CDC

相關文章