etl是企業資料倉儲構建過程中的一個核心步驟y我們可以藉助於etl
工具來高效地完成資料抽取轉換和載入工作之所以需要etl工具y
主要有以下幾個原因x
?
1?當資料來自不同的物理主機y這時候如果使用sql語句去處理的
話y就顯得比較吃力且開銷也更大]
?
2?資料來源可以是各種不同的資料庫或者檔案y這時候需要先把它
們整理成統一的格式後才可以進行資料的處理y這一過程用程式碼實現
顯然有些麻煩]
?
3?在資料庫中我們當然可以使用儲存過程去處理資料y但是y處理
海量資料的時候y儲存過程顯然比較吃力y而且會佔用較多資料庫的
資源y這可能會導致資料庫資源不足y進而影響資料庫的效能。
。
在選擇etl工具時主要考慮如下因素x
?對平臺的支援程度]
?抽取和裝載的效能是不是較高y且對業務系統的效能影響大不
大,高不高]。
?對資料來源的支援程度]。
?是否具有良好的整合性和開放性]。
?資料轉換和加工的功能。
?是否具有管理和排程的功能。
cdc解決方案包括變化捕捉代理變化資料服務和變化分發機制三個
組成部分
?
1?變化捕捉代理變化捕捉代理是一個軟體元件y它負責確定和捕
捉髮生在操作型資料儲存源系統中的資料變化可以對變化捕捉代理
進行專門最佳化y使它適用於特定的源系統y比如使用資料庫觸發器]
也可以使用通用的方法y比如資料日誌比較。
變化資料服務變化資料服務為變化資料捕捉的成功實現提供了
一系列重要的功能y包括過濾排序附加資料生命週期管理和審
計等表6-4給出了每個功能的解釋。
變化分發機制變化分發機制負責把變化分發到變化的消費者?通
常是etl程式?那裡變化分發機制可以支援一個或多個消費者y並且提
供了靈活的資料分發方式y包括推(ph)或拉(pull)的方式pull方式需要
消費者週期性地傳送請求y通常採用標準介面實現y比如odbc或jdbc
ph方式需要消費者一直監聽和等待變化的發生y一旦捕捉到變化y就立
刻轉移變化的資料y通常採用訊息中介軟體來實現變化分發機制的另一個
重要功能就是提供動態返回和請求舊的變化的能力y從而滿足重複處理和
恢復處理等任務。
變化資料捕捉技術有兩個典型的應用場景x面向批處理的cdc
?
pull cdc?和麵向實時的cdc?
ph cdc?
1面向批處理的cdc
在這種場景中yetl工具週期性地請求變化y每次都接收批次資料y
這些批次資料是在上次請求和這次請求之間所捕捉到的變化變化
分發請求可以採取不同的頻度y比如一天兩次或每隔15分鐘1次。
對於許多組織而言y提供變化資料的一種比較好的方式是以資料表的記
錄的形式表示這種方式可以使etl工具透過標準介面?比如odbc?的
方式無縫地訪問變化資料cdc則需要維護上次變化分發的位置和分發
新的變化
這種應用場景和傳統的etl很相似y不同的是ypull cdc只需要轉移變化
的資料y並不需要轉移所有的資料y這就極大地減少了資源消耗y也消
除了傳統etl過程的宕機時間。
面向批處理的cdc技術簡單y很容易實現y因為它和傳統的etl很相似y
並且使用現有的技術當企業對時間延遲以分鐘或小時來進行衡量時y
採取這種方式比較可行。
這種場景滿足零延遲的要求y變化分發機制一旦探測到變化y就把變化
ph給etl程式y這通常是透過可靠的傳輸機制來實現的y比