盤點 (資料)
盤點區或接地區, 是資料處理過程在萃取/轉置/載入(ETL)的中介儲存區。此一資料盤點區是位於資料(多個)來源和(多個)目標之間, 通常會是資料倉儲, 資料超市, 或其他的資料儲存庫。[1]
資料盤點區在本質上通常是暫存的, 其內容在執行 ETL 處理前, 或成功完成 ETL 處理後立即會被清除。而盤點區的架構被設計著重於延長保有資料的時間處理歸檔, 或排除錯誤。
實作
盤點區能有的實現方式是用一般資料庫的資料表, 儲存在檔案系統中以文字展開的檔案(或XML檔案)或專屬格式的二進制檔案。[2] 盤點區架構複雜的範圍, 從目標資料庫的一組單純關聯資料表, 到獨立的資料庫實例或檔案系統。[3] 儘管來源系統和目標系統支援的 ETL 處理, 通常是一般資料庫, 但位於資料來源和目標之間的盤點區也不盡然是一般資料庫。[4]
功能
盤點區能夠安排提供很多好處, 但其主要動機是用來增加 ETL 處理的效率, 確保資料完整及支持資料操作的品質。盤點區的功能包含下列各項:
整併
盤點區擔任的主要功能之一, 就是整合多個來源系統的資料。執行此一功能時, 盤點區就如同是一個大型的『桶』可暫時放置從多個來源系統的資料, 便於未來的處理。常見的是在盤點區標記資料, 利用額外詮釋資料指示原版的來源, 和時間戳記指示資料何時被放置到盤點區。
一致
一致化資料包含跨多個來源系統的參考資料標準化, 以及檢核來自不同來源的紀錄和資料成分間的關聯。[2] 在盤點區資料的一致化, 是功能上的密切相關也是支持『主資料管理』(Master Data Management)的能力。[5]
減少爭奪
盤點區和所支援的 ETL 處理, 其設計目標通常要能在來源系統做資源上競爭的最小化。一次性從來源拷貝需要的資料到盤點區, 常會較逐筆檢索個別紀錄(或小群組)要有效率。之前在技術上優勢的做法, 是諸如資料串流技術, 透過減少需要中斷來降低負擔和重新連接到來源系統, 並優化在多人使用來源系統的併發鎖定管理。然而以複製來源的資料, 接著在盤點區等待執行的集中處理與轉換的 ETL 方式, 可獲得比併發相關處理更好的控制。
獨立調度/多目標
盤點區能在特定時間內安排好資料供給, 該資料是逕給多個目標。某些狀況下, 資料可在不同時間拉入盤點區存放, 以便一次進行全部處理。舉例來說, 此類狀況有可能發生企業處理進行在跨時區的每個夜晚。其他情況也可能有資料被帶入盤點區以便在特定時間處理; 或在盤點區推送資料到多個目標系統。例如, 每日營運資料會被推送到作業數據存儲(Operational Data Store, ODS), 而相同資料也被送到以每月聚集形式的資料倉儲。
變更偵測
盤點區支持根據目標系統的有效變更偵測。此功能在來源系統不支持可靠形式的變更偵測, 像是系統強制時間戳記, 變更追蹤, 或者變更資料捕捉(Change Data Capture, CDC)時, 特別有用。
清理資料
資料清理包含從來源系統中辨識和移除(或更新)無效的資料。利用盤點區, ETL 處理可用來實現企業邏輯去辨別與處理 "無效的" 資料。無效資料的定義通常是業務規則與技術限制的組合。技術性約束可能外加於盤點區的結構 (諸如一般資料庫中表格約束), 以強制資料的有效性規則。[2]
資料歸檔/問題排除
資料歸檔能在盤點區進行或支援。這種情境下, 在載入過程中, 盤點區可用來維護歷史紀錄, 或推送資料到目標下的歸檔結構。此外, 資料也能維護在盤點區保存更長的時間, 以利支援 ETL 處理的技術問題排除 ....[3]
參考文獻
- Oracle 9i Data Warehousing Guide, Data Warehousing Concepts (页面存档备份,存于), Oracle Corp.
- Data Warehousing Fundamentals: A Comprehensive Guide for IT Professionals, p. 137-138, Paulraj Ponniah, 2001.
- BI Experts: Big Data and Your Data Warehouse's Data Staging Area (页面存档备份,存于), The Data Warehousing Institute, Phillip Russom, 2012.
- Is Data Staging Relational? 的存檔,存档日期2013-12-26., Ralph Kimball, 1998.
- Master Data Management in Practice: Achieving True Customer MDM, Dalton Cervo and Mark Allen, 2011.