自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

變更數(shù)據(jù)捕獲:概述、原因及優(yōu)秀實踐

系統(tǒng)
本文深入探討了CDC的概念、我們探索過的工具、它們的工作原理以及它們的好處。我們還提供了一些例子和建議,指導(dǎo)其他技術(shù)人員如何為其特定用例選擇合適的CDC工具。

當(dāng)今的企業(yè),尤其是那些已將數(shù)字化轉(zhuǎn)型置于優(yōu)先地位的企業(yè),需要接近實時的數(shù)據(jù)。每周和每月的批處理已不再適用。然而,從多種來源獲取實時數(shù)據(jù)以自動化流程并做出動態(tài)優(yōu)化決策并非易事。

最近,在為客戶重新架構(gòu)遺留系統(tǒng)并將單體架構(gòu)拆分為微服務(wù)時,我們面臨了這個特定的挑戰(zhàn)。我們開始為新架構(gòu)更改數(shù)據(jù)庫,并按模塊對系統(tǒng)進行現(xiàn)代化改造。在此階段,我們需要讓兩個數(shù)據(jù)庫保持同步,因為不同的模塊可能需要相同的數(shù)據(jù) — 換句話說,舊系統(tǒng)需要新數(shù)據(jù)庫中新系統(tǒng)生成的數(shù)據(jù),反之亦然。

我們探索了變更數(shù)據(jù)捕獲(CDC)來看它是否能實現(xiàn)這一目標。本文深入探討了CDC的概念、我們探索過的工具、它們的工作原理以及它們的好處。我們還提供了一些例子和建議,指導(dǎo)其他技術(shù)人員如何為其特定用例選擇合適的CDC工具。

什么是變更數(shù)據(jù)捕獲?

變更數(shù)據(jù)捕獲是檢測和捕獲源系統(tǒng)(通常是數(shù)據(jù)庫)中的變更,并將這些變更以幾乎實時的方式傳遞到目標系統(tǒng)的過程。這些變更可以是插入、刪除、更新以及通過DDL進行的數(shù)據(jù)庫結(jié)構(gòu)更改等。

變更數(shù)據(jù)捕獲工具的工作原理

CDC工具通過持續(xù)監(jiān)控源系統(tǒng)中的數(shù)據(jù)變更來工作。每當(dāng)檢測到變更時,它會將其捕獲并記錄到一個單獨的位置,比如數(shù)據(jù)庫、日志文件,或發(fā)送到消息代理。然后捕獲的數(shù)據(jù)經(jīng)過處理、轉(zhuǎn)換并加載到目標系統(tǒng),比如數(shù)據(jù)倉庫、分析平臺或另一個數(shù)據(jù)庫中。

有多種捕獲數(shù)據(jù)庫變更的方法。讓我們來看看其中的一些:

1.基于時間戳/查詢的

在這種方法中,我們在源中維護類似于CREATED_AT、LAST_UPDATED或DATE_MODIFIED的審計列,并查詢源中的數(shù)據(jù)以根據(jù)這些列中的變更來捕獲任何變化。需要注意的是,這種方法無法捕獲刪除操作。

2.基于觸發(fā)器的

觸發(fā)器是根據(jù)數(shù)據(jù)庫中發(fā)生的特定事件執(zhí)行用戶定義操作的函數(shù)。這可用于捕獲數(shù)據(jù)庫中的任何變更,包括刪除操作。然而,這種方法會降低數(shù)據(jù)庫性能,因為每次事件發(fā)生時都需要多次寫入。

3.基于日志的

數(shù)據(jù)庫包含用于在崩潰時進行恢復(fù)的事務(wù)日志(或重做日志),它存儲了所有事件。通過基于日志的CDC,新數(shù)據(jù)庫事務(wù)是從其本機日志中讀取的。這種方式可以捕獲變更,而無需掃描源表,因此比其他兩種方法更有效。

這種方法類似于事件驅(qū)動架構(gòu)中的事件溯源,每當(dāng)系統(tǒng)狀態(tài)發(fā)生變化時,我們將其記錄為一個事件。記錄的事件可以通過以相同的順序重播來隨時重建系統(tǒng)狀態(tài)。

為什么使用CDC?

根據(jù)情況、應(yīng)用程序、架構(gòu)和業(yè)務(wù)需求,CDC在許多場景下都是至關(guān)重要的。以下是CDC有助于工程過程的一些方式:

  • 實時數(shù)據(jù)可用性:CDC工具以幾乎實時的方式捕獲變更,確保最新的數(shù)據(jù)可用于分析、報告或進一步處理。
  • 更快的決策制定:CDC有助于減少捕獲和數(shù)據(jù)可用性之間的延遲,實現(xiàn)更快的分析和決策制定。
  • 高效的數(shù)據(jù)集成:CDC工具有助于從多個操作源捕獲數(shù)據(jù),并將其轉(zhuǎn)換為單一目標數(shù)據(jù)庫或數(shù)據(jù)湖中的通用格式。
  • 目標數(shù)據(jù)庫的定制設(shè)計:CDC提供跨功能的好處,比如在CQRS系統(tǒng)中創(chuàng)建只讀搜索或查詢數(shù)據(jù)庫、創(chuàng)建審計數(shù)據(jù)庫,或在數(shù)據(jù)倉庫中捕獲數(shù)據(jù)。它允許將非功能性和架構(gòu)需求與主要數(shù)據(jù)存儲解耦。
  • 簡化的數(shù)據(jù)遷移:在我們的情況下,CDC有助于在現(xiàn)代化階段維護遺留和新數(shù)據(jù)庫之間的數(shù)據(jù)一致性。這也適用于其他各種數(shù)據(jù)遷移場景。

如何選擇合適的CDC工具?

市場上有幾種CDC工具,比如Oracle Golden Gate、Debezium、IBM Infosphere、Striim、StreamSets和Qlik Replicate。這些工具可以是開源的或付費的。它們通常支持本地和云環(huán)境,并能處理各種數(shù)據(jù)源。在選擇時,考慮以下幾點:

  • 與數(shù)據(jù)源的兼容性:至少,您選擇的工具必須與您想要捕獲變更的所有數(shù)據(jù)源兼容。
  • 實時數(shù)據(jù)捕獲:工具應(yīng)該以幾乎實時的方式捕獲變更,以便您能夠使用最新的數(shù)據(jù)。
  • 數(shù)據(jù)轉(zhuǎn)換和集成:CDC工具應(yīng)該能夠處理從源到目標數(shù)據(jù)類型的數(shù)據(jù)轉(zhuǎn)換。
  • 價格:CDC工具必須對您的用例具有成本效益。有開源、付費和許可產(chǎn)品可供選擇。
  • 使用便捷性和支持:工具應(yīng)該對您的團隊易于使用,并提供充分的支持,包括全面的文檔和技術(shù)支持。
  • 其他功能:根據(jù)您的需求,您可能還想檢查其他特定功能,比如源和目標之間的雙向同步和云支持。

隨著企業(yè)變得以技術(shù)為驅(qū)動,歷史和當(dāng)前的數(shù)據(jù)將成為一個至關(guān)重要的差異化因素。實現(xiàn)精確、及時、高效和具有成本效益的變更數(shù)據(jù)捕獲將成為任何技術(shù)轉(zhuǎn)型計劃的重要組成部分。當(dāng)您面臨這種情況時,希望本文能對您有所幫助。

責(zé)任編輯:趙寧寧 來源: 小技術(shù)君
相關(guān)推薦

2025-03-07 07:00:00

Android 15開發(fā)API

2024-02-22 08:35:49

2021-10-25 09:00:00

數(shù)據(jù)平臺大數(shù)據(jù)工具

2021-09-26 09:40:11

補丁流程實踐

2012-04-13 13:26:30

SQL Server

2023-09-03 22:26:41

DevOps代碼

2021-01-20 10:53:41

云計算云存儲云遷移

2021-04-09 08:21:25

數(shù)據(jù)庫索引數(shù)據(jù)

2022-07-29 13:55:03

大數(shù)據(jù)大數(shù)據(jù)管理

2022-05-16 08:45:05

數(shù)據(jù)質(zhì)量數(shù)據(jù)安全

2019-05-06 08:40:36

云計算數(shù)據(jù)捕獲云端

2025-01-08 12:36:52

2022-02-10 10:51:35

數(shù)據(jù)庫

2022-12-15 15:34:50

數(shù)據(jù)中心云遷移

2023-01-27 15:41:24

2018-09-30 15:05:38

數(shù)據(jù)湖數(shù)據(jù)倉庫Hadoop

2021-07-28 10:10:30

ITIT領(lǐng)導(dǎo)IT管理

2023-04-04 14:40:46

2023-05-16 15:27:31

2023-10-30 15:35:05

數(shù)據(jù)安全數(shù)據(jù)驅(qū)動
點贊
收藏

51CTO技術(shù)棧公眾號