ETL(Extract, Transform and Load)是從不同的源系統中提取數據,然後轉換數據(如應用計算、連接等)并最終将數據加載到數據倉庫系統中的過程。ETL 的完整形式是提取、轉換和加載。
很容易認為創建數據倉庫隻是從多個來源提取數據并加載到數據倉庫的數據庫中。這與事實相去甚遠,需要複雜的 ETL 過程。ETL 過程需要來自包括開發人員、分析師、測試人員、高層管理人員在内的各種利益相關者的積極投入,并且在技術上具有挑戰性。
為了保持其作為決策者工具的價值,數據倉庫系統需要随着業務的變化而變化。ETL 是數據倉庫系統的重複活動(每天、每周、每月),需要敏捷、自動化和有據可查。
為什麼需要ETL?在組織中采用 ETL 的原因有很多:
ETL 是一個 3 步過程
ETL流程
步驟 1) 提取在 ETL 架構的這一步中,數據從源系統中提取到暫存區。在暫存區進行轉換(如果有),以便源系統的性能不會降低。此外,如果将損壞的數據直接從源複制到數據倉庫數據庫中,回滾将是一個挑戰。暫存區提供了在提取的數據進入數據倉庫之前對其進行驗證的機會。
數據倉庫需要集成不同的系統、DBMS、硬件、操作系統和通信協議。來源可能包括大型機等遺留應用程序、定制應用程序、ATM 等接觸點設備、呼叫交換機、文本文件、電子表格、ERP、來自供應商、合作夥伴等的數據。
因此,在物理提取和加載數據之前,需要一個邏輯數據映射。該數據映射描述了源數據和目标數據之間的關系。
三種數據提取方法:
無論使用何種方法,提取都不應影響源系統的性能和響應時間。這些源系統是實時生産數據庫。任何放緩或鎖定都可能影響公司的底線。
在提取期間完成了一些驗證:
從源服務器提取的數據是原始數據,不能以其原始形式使用。因此,需要對其進行清理、映射和轉換。事實上,這是 ETL 過程增加價值和更改數據以生成有洞察力的 BI 報告的關鍵步驟。
它是重要的 ETL 概念之一,您可以在其中對提取的數據應用一組函數。不需要任何轉換的數據稱為直接移動或傳遞數據。
在轉換步驟中,您可以對數據進行自定義操作。例如,如果用戶想要數據庫中沒有的銷售收入總和。或者,如果表中的名字和姓氏在不同的列中。可以在加載之前連接它們。
數據集成問題
以下是數據完整性問題:
在此階段完成驗證
将數據加載到目标數據倉庫數據庫是 ETL 過程的最後一步。在典型的數據倉庫中,需要在相對較短的時間内(夜間)加載大量數據。因此,加載過程應該針對性能進行優化。
在加載失敗的情況下,恢複機制應配置為從故障點重新啟動而不會丢失數據完整性。數據倉庫管理員需要根據當前的服務器性能監控、恢複、取消加載。
加載類型:
以下是 ETL 流程步驟的最佳實踐:
永遠不要嘗試清理所有數據:每個組織都希望所有數據都幹淨,但他們中的大多數還沒有準備好為等待或沒有準備好等待。清理所有數據隻會花費太長時間,因此最好不要嘗試清理所有數據。
永遠不要清洗任何東西:總是計劃清理一些東西,因為構建數據倉庫的最大原因是提供更幹淨、更可靠的數據。
确定清理數據的成本:在清理所有髒數據之前,确定每個髒數據元素的清理成本很重要。
為了加速查詢處理,有輔助視圖和索引:為了降低存儲成本,将彙總數據存儲到磁盤磁帶中。此外,需要在要存儲的數據量與其詳細使用之間進行權衡。在數據粒度級别進行權衡以降低存儲成本。
概括:參考guru99
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!