資料倉庫系列5-ETL是什麼

什麼是ETL?

ETL(Extract, Transform and Load)是從不同的源系統中提取資料,然後轉換資料(如應用計算、連線等)並最終將資料載入到資料倉庫系統中的過程。ETL 的完整形式是提取、轉換和載入。

很容易認為建立資料倉庫只是從多個來源提取資料並載入到資料倉庫的資料庫中。這與事實相去甚遠,需要複雜的 ETL 過程。ETL 過程需要來自包括開發人員、分析師、測試人員、高層管理人員在內的各種利益相關者的積極投入,並且在技術上具有挑戰性。

為了保持其作為決策者工具的價值,資料倉庫系統需要隨著業務的變化而變化。ETL 是資料倉庫系統的重複活動(每天、每週、每月),需要敏捷、自動化和有據可查。

為什麼需要ETL?

在組織中採用 ETL 的原因有很多:

它可以幫助公司分析其業務資料以做出關鍵業務決策。

事務型資料庫無法回答 ETL 示例可以回答的複雜業務問題。

資料倉庫提供公共資料儲存庫

ETL 提供了一種將資料從各種來源移動到資料倉庫中的方法。

隨著資料來源的變化,資料倉庫會自動更新。

精心設計和記錄的 ETL 系統對於資料倉庫專案的成功幾乎是必不可少的。

允許驗證資料轉換、聚合和計算規則。

ETL 過程允許在源系統和目標系統之間比較樣本資料。

ETL 過程可以執行復雜的轉換並且需要額外的區域來儲存資料。

ETL 有助於將資料遷移到資料倉庫。轉換為各種格式和型別以遵循一個一致的系統。

ETL 是一個預定義的過程,用於訪問和操作源資料到目標資料庫中。

資料倉庫中的 ETL 為業務提供了深刻的歷史背景。

它有助於提高生產力,因為它無需技術技能即可編碼和重複使用。

資料倉庫中的 ETL 過程

ETL 是一個 3 步過程

資料倉庫系列5-ETL是什麼

ETL流程

步驟 1) 提取

在 ETL 架構的這一步中,資料從源系統中提取到暫存區。在暫存區進行轉換(如果有),以便源系統的效能不會降低。此外,如果將損壞的資料直接從源複製到資料倉庫資料庫中,回滾將是一個挑戰。暫存區提供了在提取的資料進入資料倉庫之前對其進行驗證的機會。

資料倉庫需要整合不同的系統、DBMS、硬體、作業系統和通訊協議。來源可能包括大型機等遺留應用程式、定製應用程式、ATM 等接觸點裝置、呼叫交換機、文字檔案、電子表格、ERP、來自供應商、合作伙伴等的資料。

因此,在物理提取和載入資料之前,需要一個邏輯資料對映。該資料對映描述了源資料和目標資料之間的關係。

三種資料提取方法:

完全提取

部分提取 - 沒有更新通知。

部分提取 - 帶有更新通知

無論使用何種方法,提取都不應影響源系統的效能和響應時間。這些源系統是實時生產資料庫。任何放緩或鎖定都可能影響公司的底線。

在提取期間完成了一些驗證:

將記錄與源資料協調

確保沒有載入垃圾郵件/不需要的資料

資料型別檢查

刪除所有型別的重複/碎片資料

檢查所有鑰匙是否到位

步驟 2) 轉型

從源伺服器提取的資料是原始資料,不能以其原始形式使用。因此,需要對其進行清理、對映和轉換。事實上,這是 ETL 過程增加價值和更改資料以生成有洞察力的 BI 報告的關鍵步驟。

它是重要的 ETL 概念之一,您可以在其中對提取的資料應用一組函式。不需要任何轉換的資料稱為

直接移動

傳遞資料

在轉換步驟中,您可以對資料進行自定義操作。例如,如果使用者想要資料庫中沒有的銷售收入總和。或者,如果表中的名字和姓氏在不同的列中。可以在載入之前連線它們。

資料倉庫系列5-ETL是什麼

資料整合問題

以下是資料完整性問題:

同一個人的不同拼寫,如 Jon、John 等。

有多種表示公司名稱的方法,例如 Google、Google Inc。

使用不同的名稱,如克利夫蘭、克利夫蘭。

可能存在針對同一客戶的不同應用生成不同賬號的情況。

在某些資料所需的檔案中仍為空白

在 POS 收集的無效產品作為手動輸入可能會導致錯誤。

在此階段完成驗證

過濾 – 只選擇某些列載入

使用規則和查詢表進行資料標準化

字符集轉換和編碼處理

測量單位的轉換,如日期時間轉換、貨幣轉換、數字轉換等。

資料閾值驗證檢查。例如,年齡不能超過兩位數。

從暫存區到中間表的資料流驗證。

必填欄位不應留空。

清潔(例如,將 NULL 對映到 0 或將 Gender Male 對映到“M”和將女性對映到“F”等)

將一列拆分為多列並將多列合併為一列。

轉置行和列,

使用查詢來合併資料

使用任何複雜的資料驗證(例如,如果一行中的前兩列是空的,那麼它會自動拒絕處理該行)

步驟 3) 載入

將資料載入到目標資料倉庫資料庫是 ETL 過程的最後一步。在典型的資料倉庫中,需要在相對較短的時間內(夜間)載入大量資料。因此,載入過程應該針對性能進行最佳化。

在載入失敗的情況下,恢復機制應配置為從故障點重新啟動而不會丟失資料完整性。資料倉庫管理員需要根據當前的伺服器效能監控、恢復、取消載入。

載入型別:

初始載入

— 填充所有資料倉庫表

增量負載

——在需要時定期應用正在進行的更改。

完全重新整理 —

擦除一個或多個表的內容並重新載入新資料。

負載驗證

確保關鍵欄位資料既不缺失也不為空。

基於目標表測試建模檢視。

檢查組合值和計算的度量。

維表和歷史表中的資料檢查。

檢查有關載入的事實和維度表的 BI 報告。

最佳實踐 ETL 流程

以下是 ETL 流程步驟的最佳實踐:

永遠不要嘗試清理所有資料:

每個組織都希望所有資料都乾淨,但他們中的大多數還沒有準備好為等待或沒有準備好等待。清理所有資料只會花費太長時間,因此最好不要嘗試清理所有資料。

永遠不要清洗任何東西:

總是計劃清理一些東西,因為構建資料倉庫的最大原因是提供更乾淨、更可靠的資料。

確定清理資料的成本:

在清理所有髒資料之前,確定每個髒資料元素的清理成本很重要。

為了加速查詢處理,有輔助檢視和索引:

為了降低儲存成本,將彙總資料儲存到磁碟磁帶中。此外,需要在要儲存的資料量與其詳細使用之間進行權衡。在資料粒度級別進行權衡以降低儲存成本。

概括:

ETL 代表提取、轉換和載入。

ETL 提供了一種將資料從各種來源移動到資料倉庫中的方法。

在第一步抽取中,資料從源系統抽取到暫存區。

在轉換步驟中,對從源中提取的資料進行清理和轉換。

將資料載入到目標資料倉庫是 ETL 過程的最後一步。

參考guru99