Kettle解決方案: 第一章ETL入門

第一章ETL入門

1.1 OLPT和數據倉庫對比

普通的事務系統和商業智能系統(BI)有什麼區別?
1個獨立的普通事務系統也被稱爲在線事務處理系統(OLTP)
商業智能系統也常被稱爲決策支持系統(DSS)

OLTP和BI數據庫最大的區別在於處理的數據量。
對比
使用中BI系統也常常做爲業務系統的一部分,預先處理好一部分數據提供給業務系統調用並展示。

1.2 ETL是什麼

ETL是抽取、轉換、加載的縮寫。含義爲從數據源抽取數據加工到數據倉庫的一些操做的集合。
抽取:通常須要鏈接到不一樣的數據源
轉換:任何對數據的處理都是轉換
好比如下操做

加載:將數據加載到目標系統的全部操做(不只包含目標表)。

ETL的演化過程
(1)手動編程時期
(2)ETL工具(基於自動化代碼):根據設計好的工做量自動生成代碼。最大的問題是僅限於有限的數據庫。
(3)ETL工具(基於引擎):

數據倉庫和數據集市的區別:
數據倉庫是單一的,大量數據的存儲倉庫,涉及各類主題和各個業務領域。一般一個數據倉庫不能準備終端用戶直接訪問。
數據集市可被終端用戶直接訪問,而且是以數據分析爲目的的。
咱們可能基於某幾個分析主題的須要,從數據倉庫中讀取數據創建數據集市。

ETL的基本構成:
ETL就像一個業務流程,具備輸入,加工,輸出等多個環節和處理步驟。

1.3 ETL,ELT,EII

ETL: 從1/N個數據源抽取數據,通過1/N步架構,物理存儲到目標環境中,目標環境一般是數據倉庫。
ELT: 抽取、加載、轉換的簡稱,與ETL不一樣的在於數據整合的方法上略有不一樣:抽取數據到目標數據庫後再轉換。
而ETL是抽取,轉換後在加載到目標環境。
另外的不一樣,ELT須要知道使用目標數據庫對應的SQL方言。

EII: 虛擬數據整合,無需將數據複製到或移動到數據倉庫。不須要額外存儲,數據永遠都是最新的。
比較以下

1.4 挑戰

數據整合的挑戰在於 1須要對業務的理解 2技術的要求。

其餘部分:Kettle是做者使用java基於敏捷方法迭代開發完成的工具。

1.5 ETL工具的功能

1 鏈接到數據源(db,文本,xml,excel),支持FTP,ssh方式獲取數據
2 能運行在不一樣平臺
3 支持集羣,支持將數據根據要求進行分發處理,支持併發(複製:1份數據複製後處理 2分發:1數據分多份給不一樣處理)
4 擴展性
5 數據轉換:ETL很大一部分工做是數據轉換。在輸入和輸出之間可能須要以下的數據轉換操做:
效驗、合併、轉置、克隆、排重、過濾、刪除、彙集、條件分割、替換、、緩慢變動緯度等。Kettle甚至還支持樹形自關聯這樣的表的數據的加載轉換(oracle的Connect by prior)。
6 測試
7 日誌和審計
8 血統和影響分析 (血統的含義:從數據追溯到其對應的元數據)




相關文章
相關標籤/搜索