資料抽取中的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
- 使用SQLServer 2008的CDC功能實現資料變更捕獲SQLServer
- 變更資料捕獲CDC幾種應用場景 - RTInsights
- debezium-資料實時捕獲和傳輸管道(CDC)
- 使用Spring Cloud Data Flow + CDC Debezium源實時實現變更資料捕獲 - SpringIOSpringCloud
- Airbnb的變更資料捕獲系統,實現資料突變實時響應AI
- 陳胡:Apache SeaTunnel實現 非CDC資料抽取實踐Apache
- SQL Server CDC配合Kafka Connect監聽資料變化SQLServerKafka
- 如何實現對 Oracle 的實時資料捕獲和效能調優|Flink CDC 專題Oracle
- 如何捕獲html資料表格連結?HTML
- [Flink/CDC/資料整合] 資料增量整合方案:Flink CDC
- 關於高效捕獲資料庫非繫結變數的SQL語句資料庫變數SQL
- Wireshark資料抓包教程之認識捕獲分析資料包
- 資料倉儲系列之ETL中常見的增量抽取方式
- Netflix計劃於2020年開源的資料庫資料複製重器:DBLog,一個類似Oracle OGG的通用的變更資料捕獲CDC框架 - Netflix資料庫Oracle框架
- Auto.js Pro 資料獲取 與 異常捕獲JS
- 單資料庫捕獲應用例項——流資料庫
- Linux防火牆資料包捕獲模組(轉)Linux防火牆
- 資料恢復:AMDU資料抽取恢復資料恢復
- 資料質量管理--資料抽取和清洗
- 海量資料遷移之資料抽取流程
- AngularJS中獲取資料來源的幾種方式AngularJS
- vue中如何監聽vuex中的資料變化Vue
- (在模仿中精進資料視覺化03)OD資料的特殊視覺化方式視覺化
- 使用IBM InfoSphere CDC Transaction Stage實現高效的資料獲取IBM
- cdc目標端資料庫初始化(backup restore)資料庫REST
- 請問一個用jpcap資料包捕獲的問題PCA
- Flutter 中的資料的獲取Flutter
- 使用嵌入式Debezium和SpringBoot捕獲更改資料事件(CDC) - Sohan GanapathySpring Boot事件
- 大資料改變世界的五種方式大資料
- 推動資料儲存方式變革的因素(附原資料表)
- AMDU資料抽取案例一則
- data pump (資料抽取)測試
- 配置GoldenGate捕獲Replicat端資料應用異常Go
- 從資料集中隨機抽取一定數量的資料隨機