資料抽取中的CDC(變化資料捕獲)方式
考慮一個問題:需要抽取哪部分資料載入到資料倉儲?是完全抽取還是變化資料捕獲?
如果資料量很小,則採取完全源資料抽取;如果源資料量很大,則抽取變化的源資料,這種資料抽取模式叫做變化資料捕獲,簡稱CDC。
CDC大體分為兩種:侵入式和非侵入式。侵入式指CDC操作會給源系統帶來效能影響,只要CDC操作以任何一種方式對源資料庫執行了SQL操作,就認為是侵入式的。
常用的4種CDC方法是:基於時間戳的CDC、基於觸發器的CDC、基於快照的CDC和基於日誌的CDC,其中前三種是侵入式的。
1.基於時間戳的CDC
抽取過程可以根據某些屬性列來判斷哪些資料是增量的,最常見的屬性列有以下兩種:
1.時間戳:最好有兩個列,一個插入時間戳,表示何時建立,一個更新時間戳,表示最後一次更新的時間。
2.序列:大多數資料庫都提供自增功能,如果資料庫表列被定義成自增的,就可以很容易地根據該列識別新插入的資料。
這種方法是最簡單且常用的,但是有如下缺點:
1.不能記錄刪除記錄的操作
2.無法識別多次更新
3.不具有實時能力
2.基於觸發器的CDC
當執行INSERT、UPDATE、DELETE這些SQL語句時,可以啟用資料庫裡的觸發器,並執行一些動作,就是說觸發器可以用來捕獲變更的資料並把資料儲存在中間臨時表裡。然後這些變更資料再從臨時表取出,抽取到資料倉儲的過渡區中。大多數場合下,不允許向操作型資料庫裡新增觸發器,且這種方法會降低系統效能,所以用的不多。
可以使用源資料庫的複製功能,將源庫的資料備用到備用庫上,在備庫上建立觸發器。
3.基於快照的CDC
如果沒有時間戳,不允許使用觸發器,就要使用快照表。可以透過比較源表和快照表來獲得資料變化。
基於快照的CDC可以檢測到插入、更新和刪除的資料,這是相對於基於時間戳的CDC方案的有點。其缺點是需要大量儲存空間來儲存快照。
4.基於日誌的CDC
最複雜的和沒有侵入性的CDC方法是基於日誌的方式。資料庫會把每個插入、更新、刪除操作記錄到日誌裡。
作者:阿貓阿狗Hakuna
連結:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4606/viewspace-2817235/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL Server 變更資料捕獲(CDC)SQLServer
- Oracle CDC 變更資料捕獲技術Oracle
- 變更資料捕獲CDC的八個實際案例 - Dunith
- zendesk/maxwell:MySQL的CDC資料更新捕獲者MySql
- 變更資料捕獲CDC幾種應用場景 - RTInsights
- 使用Spring Cloud Data Flow + CDC Debezium源實時實現變更資料捕獲 - SpringIOSpringCloud
- Airbnb的變更資料捕獲系統,實現資料突變實時響應AI
- Netflix計劃於2020年開源的資料庫資料複製重器:DBLog,一個類似Oracle OGG的通用的變更資料捕獲CDC框架 - Netflix資料庫Oracle框架
- 陳胡:Apache SeaTunnel實現 非CDC資料抽取實踐Apache
- SQL Server CDC配合Kafka Connect監聽資料變化SQLServerKafka
- 如何實現對 Oracle 的實時資料捕獲和效能調優|Flink CDC 專題Oracle
- [Flink/CDC/資料整合] 資料增量整合方案:Flink CDC
- 如何捕獲html資料表格連結?HTML
- 資料倉儲系列之ETL中常見的增量抽取方式
- 如何獲取 C# 類中發生資料變化的屬性資訊C#
- Auto.js Pro 資料獲取 與 異常捕獲JS
- 資料恢復:AMDU資料抽取恢復資料恢復
- sqlplus -prelim和oradebug捕獲資料庫hang住的詳細資訊SQL資料庫
- 使用嵌入式Debezium和SpringBoot捕獲更改資料事件(CDC) - Sohan GanapathySpring Boot事件
- vue中如何監聽vuex中的資料變化Vue
- (在模仿中精進資料視覺化03)OD資料的特殊視覺化方式視覺化
- Transwarp元件Trasporter工具資料抽取元件
- AMDU資料抽取案例一則
- Task異常捕獲的方式
- 推動資料儲存方式變革的因素(附原資料表)
- cdc目標端資料庫初始化(backup restore)資料庫REST
- Flutter 中的資料的獲取Flutter
- 從資料集中隨機抽取一定數量的資料隨機
- Veritas Enterprise Vault 15.0 (Windows) - 自動捕獲資料並歸檔資訊Windows
- Veritas Enterprise Vault 15.1 (Windows) - 自動捕獲資料並歸檔資訊Windows
- 如何在元件中監聽Vuex的資料變化元件Vue
- Kubernetes 將改變資料庫的管理方式資料庫
- MySQL、Oracle後設資料抽取分析MySqlOracle
- 測試,ogg從歸檔日誌中抽取資料
- 有了 ETL 資料神器 dbt,表資料秒變 NebulaGraph 中的圖資料
- 讀資料工程之道:設計和構建健壯的資料系統24獲取資料的方式
- 獲得資料庫操作日誌的三種方式資料庫
- 在K8S中,資料持久化的方式有哪些?K8S持久化