ETL是什麼?


ETL代表Extract Transform和Load。ETL將所有三個資料庫功能組合到一個工具中,以從一個資料庫獲取資料並將其放入另一個資料庫。

提取:提取是從資料庫中提取(讀取)資訊的過程。在此階段,從多個或不同型別的來源收集資料。

轉換:轉換是將提取的資料從之前的形式轉換為所需形式的過程。資料可以放入另一個資料庫。可以通過使用規則或查詢表或將資料與其他資料組合來進行轉換。

載入:載入是將資料寫入目標資料庫的過程。

ETL用於在提取,轉換和載入三個步驟的幫助下整合資料,並用於混合來自多個源的資料。它通常用於構建資料倉庫。

在ETL過程中,資料從源系統中提取並轉換為可以檢查並儲存到資料倉庫或任何其他系統中的格式。ETL是一種備用但相關的方法,旨在將處理推播到資料庫以提高效能。

範例

例如一個零售商店,它有不同的部門,如銷售,行銷,物流等部門。他們每個人都獨立處理客戶的資訊,每個部門儲存資料的方式是完全不同的。銷售部門根據客戶ID,而行銷部門將客戶的名稱儲存。如果我們想檢視客戶的歷史,並想知道他/她因各種活動而購買的不同產品;這將是非常骨感的。

解決方案是使用資料倉庫使用ETL以統一結構儲存來自不同來源的資訊。ETL工具從所有這些資料源中提取資料並轉換資料(如應用計算,連線欄位,刪除不正確的資料欄位等)並載入到資料倉庫中。ETL可以將唯一資料集轉換為統一結構。之後,我們再使用BI工具從這些資料中找出有意義的報告,儀表板,視覺化。

1. 為什麼需要ETL

需要ETL的原因有很多:

  • ETL幫助公司分析其業務資料,以制定關鍵業務決策。
  • 資料倉庫提供共用資料儲存庫。
  • ETL提供了一種將資料從各種源移動到資料倉庫的方法。
  • 隨著資料源的變化,資料倉庫將自動更新。
  • 精心設計和記錄的ETL系統對於資料倉庫專案的成功至關重要。
  • 事務資料庫無法回答ETL可以解決的複雜業務問題。
  • 精心設計和記錄的ETL系統對於資料倉庫專案的成功至關重要。
  • ETL過程允許源系統和目標系統之間的樣本資料比較。
  • ETL過程可以執行複雜的轉換,並且需要額外的區域來儲存資料。
  • ETL有助於將資料遷移到資料倉庫中。
  • ETL是先前定義的用於存取和操作源資料到目標資料庫的過程。
  • 出於商業目的,ETL提供深刻的歷史背景。
  • 它有助於提高生產力,因為它已經編纂成文,可以在不需要技術技能的情況下重複使用。

2. ETL如何工作

資料從一個或多個源中提取,然後複製到資料倉庫。當我們處理大量資料和多個源系統時,資料會得到整合。ETL用於將資料從一個資料庫遷移到另一個資料庫。ETL是需要從資料集市和資料倉庫載入資料的過程。ETL是一個過程,也用於將資料從一種格式轉換為另一種格式。

3. 資料倉庫中的ETL過程

我們需要定期載入資料倉庫,以便它能夠促進業務分析。需要預期來自一個或多個作業系統的資料並將其複製到資料倉庫中。資料倉庫面臨的挑戰是多年來整合和重新安排大量資料。從源系統中提取資料並將其帶入資料倉庫的過程通常稱為ETL。ETL的方法和任務已知多年。資料必須在嘗試整合它們的應用程式或系統之間共用。

ETL是一個三步流程:

數據倉庫中的ETL過程

3.1. 提取

在此步驟中,將資料從源系統提取到ETL伺服器或暫存區域。在該區域中進行轉換,以使源系統的效能不降低。如果損壞的資料從源系統直接複製到資料倉庫中,那麼回滾將是一個挑戰。暫存區域允許在資料倉庫中移動之前驗證提取的資料。

需要將系統整合到具有不同DBMS,硬體,作業系統和通訊協定的資料倉庫中。在物理提取和載入資料之前,需要邏輯資料對映。此資料對映描述了源和目標資料之間的所有關係。

有三種方法可以提取資料。

  • 完全提取
  • 部分提取 - 無更新通知
  • 部分提取 - 使用更新通知

無論我們是否使用任何提取方法,這都不應影響源系統的效能和響應時間。這些源系統是實時生產系統。

提取過程中的驗證:

  • 使用源資料確認記錄
  • 應檢查資料型別
  • 它將檢查所有鍵是否到位
  • 必須確保沒有載入垃圾郵件/不需要的資料
  • 刪除所有型別的片段和重複資料。

3.2. 轉換型別

從源伺服器提取的資料是原始的,不能以其原始形式使用。因此,應該對映,清理和轉換資料。轉換是ETL過程新增值並更改資料(例如BI報告)的重要步驟。

在此步驟中,對提取的資料應用一組函式。不需要任何轉換的資料稱為直接移動或傳遞資料。可以對資料應用自定義操作。例如,表中的名字和姓氏位於不同的列中,可以在載入之前將它們連線起來。

轉換期間的驗證:

  • 過濾:對於載入,僅選擇特定列
  • 字元集轉換和編碼處理
  • 資料閾值和驗證檢查
  • 例如,年齡不能超過兩位數
  • 必填欄位不應留空。
  • 轉置行和列。
  • 合併資料使用查詢

3.3. 載入

將資料載入到資料倉庫是ETL過程的最後一步。需要將大量資料載入到資料倉庫中以獲得簡潔的時間。為了提高效能,應優化載入。
如果載入失敗,則恢復機制應該從故障點重新啟動而不會丟失資料完整性。資料倉庫管理員需要根據伺服器效能監視,恢復和取消載入。

載入型別

  • 初始載入 - 填滿整個資料倉庫表
  • 增量載入 - 在需要時應用更改。
  • 完全重新整理 - 擦除一個或多個表的內容並使用新資料重新載入。

4. 總結

  • ETL也稱為提取,載入和轉換。
  • ETL提供了將資料從各種源移動到資料倉庫的方法。
  • 第一步包括將資料從源系統提取到暫存區域。
  • 轉換步驟包括清理和轉換來自源的提取資料。
  • 將資料載入到資料倉庫是ETL過程的最後一步。