semaphore提示您:看後求收藏(思兔閱讀sto.ist),接著再看更方便。
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包括推(push)或拉(pull)的方式pull方式需要
消費者周期性地發送請求y通常采用標準接口實現y比如odbc或jdbc
push方式需要消費者一直監聽和等待變化的發生y一旦捕捉到變化y就立
刻轉移變化的數據y通常采用消息中間件來實現變化分發機製的另一個
重要功能就是提供動態返回和請求舊的變化的能力y從而滿足重複處理和
恢複處理等任務。
變化數據捕捉技術有兩個典型的應用場景x麵向批處理的cdc
?
pull
cdc?和麵向實時的cdc?
push
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就把變化