變更資料捕獲CDC幾種應用場景 - RTInsights

banq發表於2022-04-03

在現代微服務驅動架構中,CDC 透過提供連線傳統資料庫與雲原生、事件驅動架構的橋樑而獲得了新的重要性。
變更資料捕獲 (CDC) 是一種資料整合模式,用於跟蹤資料中何時以及發生了哪些變化,然後提醒其他必須響應這些變化的系統和服務。CDC 幫助維護所有依賴資料的系統的一致性和功能。
在現代微服務驅動架構中,CDC 透過提供連線傳統資料庫與雲原生、事件驅動架構的橋樑而獲得了新的重要性。使用 CDC,企業可以繼續使用其遺留資料庫,同時仍然透過新興技術使用資料。對於新部署,CDC 支援使用有用的模式和模式,如“發件箱”,它允許微服務交換來自資料庫事務的整合資料。
有了這些能力,CDC 可以在應用程式開發和現代化中發揮許多作用。以下是 CDC 的幾個用例。 

作為遺留應用轉型的基石
銀行、零售、酒店、物流等許多行業的許多單體應用是事件驅動的。元件之間緊密耦合的傳統應用程式依賴於請求驅動的訊息傳遞過程,其中對資料的呼叫是直接從一個服務到另一個。在單體應用環境中,這些流程是緊密整合的,並在同一個系統上執行。

隨著單體被分解成微服務,事件生產者和消費者可能在不同的微服務中。一個微服務向其他微服務釋出事件的能力是將核心程式設計結構推進到分散式計算架構的必要條件。

這就是變更資料捕獲的作用。CDC是一個監測和捕獲資料變化的系統,以便其他軟體能夠對這些變化做出反應。CDC 捕獲資料庫表的行級變化,並將相應的變化事件傳遞給資料流匯流排。應用程式可以讀取這些變化事件流並訪問這些變化事件。

使用變更資料採集加快應用開發和部署
這些企業處理其現代化工作的方法之一是,從單體部署遷移到事件驅動架構(EDA)。他們正在使用CDC來監控和捕捉資料的變化,以便EDA的其他部分能夠做出相應的反應。

EDA和CDC的一個流行組合使用Debezium和Kafka在微服務之間遷移資料和流媒體事件。Debezium是一個開源的CDC平臺,它監控資料庫日誌以識別變化,這意味著它甚至不需要對資料庫本身進行寫入訪問--只需允許Debezium訪問日誌,它就可以開始工作,捕捉變化並新增到事件流。

這極大地簡化了第一次開發和部署現代化應用程式的過程。不用擔心破壞傳統資料庫--只需用CDC過濾出所需的列,並將其放入事件流中。

隨後的開發也變得更快,因為團隊可以在微服務上建立新的功能,只對基本的基於變化的事件做出反應。
 

利用變更資料採集擴充套件流媒體專案
變更資料捕獲幫助組織實現應用程式的現代化,並有效地擴充套件它們。使用微服務方法來實現現代化和構建應用程式,組織可以對現有的前端應用程式進行快速更改並建立新的應用程式。由於變更資料捕獲軟體只處理資料變化,因此消耗的資源較少,這些應用程式可以保持其效能,並在沒有大規模基礎設施建設的情況下進行擴充套件。

CDC與另外一個行業趨勢非常吻合。可組合的企業,即在不同的應用程式中重複使用實現單一流程或步驟的程式碼,正在崛起。在雲原生開發的靈活性基礎上,特定的流程或業務功能被標準化,並可在許多應用程式中重複使用。

賦能實時應用程式
變更資料採集讓任何型別的應用程式在對資料變化作出反應時都能利用低延遲的優勢。這是實時系統中的一個重要元素。其使用的一個具體例子是保持搜尋索引的更新,以便人們可以在考慮到任何實時更新的情況下進行全文搜尋。它還可以被用作企業內部傳統資料庫進入雲端的通道。例如,它可以用來從企業內部的傳統資料庫中獲取資料,並將其插入雲資料倉儲中。在這個用例中,CDC可以讓企業建立這樣一個資料管道,而且它的端到端延遲非常低。

當更新一個源資料庫(可以是任何關係型資料庫,如Oracle、Microsoft SQL Server、Postgres或MySQL)時,企業可能需要更新多個相關資源,如快取和搜尋索引。一個簡單的方法是需要升級應用程式以同時更新這些資源。然而,試圖將這些改變的資料一致地寫入一個以上的目標中,會帶來許多挑戰和協調開銷。CDC避免了雙重寫入這樣的問題,而是同時準確地更新資源。
 

相關文章