ELT

資料處理 Operational Data Store (1)

基本介紹

教學目標

初步了解營運資料儲存 (Operational Data Store,ODS) 的概念。

重點概念

企業有許多不同的應用系統,每個系統皆有不同的資料格式,可能是結構化或非結構化的資料,為了業務的需要就必須透過營運資料儲存 (Operational Data Store,ODS) 將應用系統中的相關資料轉換成適當的檔案格式,例如: 平面檔案 (Flat File) 以最小的空間儲存結構化資料,可分為固定長度或可變長度,也就是所謂 CSV 檔,接著載入至資料倉儲進行企業的分析應用與資料管理。

在大多數的企業中主要是由營運環境和資料倉儲環境建構應用於每天進行處理與決策的骨架,其中經常性的資料市集會從資料倉儲出取出以利進行分析。在不同的環境有不同資料結構的類型需求,其本上可以分成線上交易處理資料、整合資料和歷史資料,一般來說線上交易處理資料會經由 ETL 處理轉換成歷史資料和整合資料,其中整合資料主要是以系統記錄 (System of record) 或單一的事實版本 (Single version of truth) 為主進行建立基礎以利分析處理之應用。

然而當我們需要線上交易處理的整合這種不同類型的資料結構時,就會需要營運資料儲存 (Operational Data Store,ODS),企業對需要營運資料儲存主要是因為其應用操作系統無法有效進行整合和難處理,當企業需要整合資料卻無法修改已經存在的相關系統環境時就需要營運資料儲存。此外也能夠透過營運資料儲存將線上資料更新至資料倉儲中,此時營運資料儲存就必須具備高效能的線上交易處理環境。

至於營運資料儲存與資料倉儲皆是以主題導向的整合資料為主,但是營運資料儲存能夠獨立進行更新、刪除和增加的短暫當時的資料,而資料倉儲主要儲存不同時間的長期歷史的資料。因此營運資料儲存根據處理時間的不同主要可以分為三種類型,類型一以毫秒 (Milliseconds) 為時間單位進行資料同步,類型二以小時 (Hours) 為時間單位進行資料同步,類型三以天 (Days) 為時間單位進行資料同步,根據不同的需求選擇適合類型的營運資料儲存的系統環境,一般來說企業皆以類型三的營運資料儲存為主。此外不同來源資料可能會需要進行整合會有前後相依關係的問題,此時在營運資料儲存和資料倉儲之間就會有臨時區域 (The Staging Area) 等待資料完整後才會進行整合轉換。

比較項目 資料倉儲 營運資料儲存 應用操作系統
建立目的 決策支援 即時監控 業務操作
服務對象 企業管理 業務管理 業務處理
儲存週期 長期 短期 即時
處理頻率 非即時 非即時/即時 即時
主要功能 分析功能 分析功能/事務處理 事務處理
技術實作 OLAP OLAP/OLTP OLTP
功能結構 集中 相對集中 分散
資料類型 匯整資料/明細資料 明細資料 明細資料
資料大小

表一、DW、ODS 和 AP 比較表

最後銀行有許多核心系統,例如: Temenos T24 Core Banking、Misys FusionCapital Summit 等針對不同業務處理的核心系統,若要整合出應用分析的戰略報表就必須必過營運資料儲存將核心系統中的原始資料轉換為正規化後資料格式再導入至資料倉儲中,以避免資料倉儲成為垃圾場 (Garbage Dump) 影響分析決策之應用,也就是所謂 ETL 轉換而非 ELT 轉換之資料處理的差別。

相關資源

資料處理 ETL Development (2)

基本介紹

教學目標

深入了解 ETL 批次程式及注意重點。

重點概念

ETL 簡單來說就是擷取,轉換和載入的處理過程,看似簡單卻不簡單,更進一步來說 ETL 比資料流更強大的應用,主要是一種改變資料狀態的機制。當資料透過 ETL 處理轉換時,其狀態根本上就轉變了,也就是從應用狀態轉變為企業狀態,因此 ETL 不僅完成資料的收集和傳輸的工作,其對資料狀態的改變也非常重要。

ETL 工作模式可以分為即時處理和批次處理,即時處理主要是以很短的時間進行 ETL 處理,因為速度是以毫秒為單位所以會讓使用者感覺上是同步處理之應用,因為速度為主要衡量成功的標準,所以轉無法有效進行資料轉換之應用,批次處理首先會將舊系統中的交易分批儲存,接著在合適的時間點進行 ETL 處理,其擁有足夠的時間進行有效的資料轉換之應用。

ETL 邏輯處理會根據不同來源的應用系統有適合轉換至資料倉儲的處理方式,必須先回答以下問題。

  • 哪個來源應用系統中的哪個特定資料將建構成資料倉儲中的資料呢?
  • 如何處理多個來源相同的資料呢?
  • 如果需要資料的預設值則必須進行什麼事情呢?
  • 必須進行哪些邏輯處理才能將資料轉換為企業狀態?
  • 為了將資料重新組織為屬於企業狀態的資料,則必須應用哪些計算?
  • 為了建立企業資料,則必須完成哪些重構或格式轉換?

其中不同系統的業務規則會有不同,因此 ETL 處理過程必須決定哪些業務規則為主要轉換的規則,此外在設計 ETL 處理時都必須指定資料關鍵字的轉換規則,此時轉換處理就會變更複雜,首先會先選擇其中一個合適的應用系統的關鍵字,使得其它應用系統皆遵循此關鍵字的結構,或者直接在 ETL 過程中將需要的關鍵字完全轉換成全新的關鍵字格式。

ETL 輸出大小則是另一個關注的問題,就算是只執行一個簡單的 ETL 處理,為了解決資料大小的問題就會進行平行處理,就理論來說,ETL 處理必須完成大量資料轉換的應用,並且其中任意一個轉換資料通常都不是很複雜的應用,可惜若要資料在一次執行中必須完成所有的轉換,對於 ETL 處理的確會非常複雜。一般來說資料轉換的類型,分別為:

  • 概要處理
  • 日期格式調整
  • 邏輯規範
  • 資料聚合處理
  • 預設值處理
  • 編碼處理
  • 關鍵字重構與創建

ETL 處理記錄包括了一天處理的記錄數、成功註記、失敗次數、失敗原因、如何解決失敗之描述、處理啟動和執行的時間長度、…等有關於 ETL 處理的詳細資料。然而為了避免失敗次數的增加,當 ETL 處理時會針對值、範圍和合理性進行檢查,確保資料品質減少錯誤發生導致失敗。

最後同樣是 ETL 的應用,但執行順序不同就會有不同的差異,ELT 簡單來說就是擷取,載入和轉換,主要差別在於 ETL 是將資料經過擷取再轉換之後,才會載入至資料倉儲中,但 ELT 則是將資料先擷取且載入至資料倉儲中再進行轉換,因此會存在基本的問題,主要問題為資料清理,因為資料載入之後沒有進行轉換,導致資料狀態不正確,以及當資料被載入之後才進行轉換時則會導致資料完整性的問題,因此 ELT 處理相較於 ETL 處理並不是一個好的架構選擇。

相關資源