Back to list
什麼是 ETL 跟 ELT?是否有其他方式?
2022/03/02

隨著數據決策驅動的整個資料圈發展,各企業也開始再思考要如何更便利的進行資料運算,因此以資料倉儲 (Data Warehouse) 為核心的資料轉型開發持續進行,包含後端資料搬運 ETL 、前段 BI 軟體串接,形成一個完整的生態圈。但很多人都還在思考要怎麼選擇適合自己企業的方式。

如果只是想要備份資料,那你需要的只是NAS

如果只是因為資料太多,需要備份,那麼就準備一個NAS系統,把資料備份過去吧。

我確定我要搬運:我選 ETL

“ETL + Data Warehouse” 的架構中,我們會把數據轉換先在 ETL,的轉換階段就先做不同應用端所需要的數據面向。下面將用優點跟缺點與大家分享

優點:​

  1. 數據轉換抽離:把所需要做數據呈現面向的資料再放入到 Data Warehouse 中,把數據轉換抽離。
  2. 資料倉儲功能單一:在此架構下資料倉儲的功能,就是把需要快速做大量運算出結果給數據應用的放入到資料倉儲裡面。
  3. 資料倉儲費用較低:由於只有需要變成應用端的數據才會進入到 Data Warehouse 中,所以資料倉儲與 License fee 能夠降低。

缺點:​

  1. 維護數據轉換:由於他的優點也是他的缺點,抽離數據轉換至 ETL 中,會照成未來大量的維護成本,通常在大型企業數據轉換可能有數百或數千個 pipeline。
  2. 維護數據渠道:數據渠道指的是資料從源頭到、轉換、到匯入到應用端,整個應用流程都需要維護,只要上游數據 Schema 改變通常整個 pipeline 都需要多少做調整。
  3. 擴展性:因為 ETL 如處理到數據量跟更大量的數據時會遇到一個比較大的問題是擴展性,在處理小量與大量的數據 ETL 建置方式會是完全不一樣的方式。
  4. 數據異動:在此架構數據異動的 effort 是非常大的,因為他會牽動到 Data Mart, 以及 Data Warehouse 的架構,所以需要去調整異動的項目。
  5. 延遲性高:因為數據轉換是建置在 Data Warehouse 外部,所以延遲性會相對高許多。

我確定我要搬運:我選 ELT

現在非常流行的另一個方法,與過去的 “ETL + Data Warehouse” 最大的不一樣就是先把資料 load 進資料倉儲裡面再做多階層的數據轉換,產生應用端數據。

elt

可以看到為什麼 ELT 會比現在 ETL 來得受到青睞,因為在資料流程來看是單純非常多,資料先進到 Data Warehouse 中在做後面的數據轉換。在 “ELT + Data Warehouse” 的架構中,我們會把數據轉換都在 ”進入到 Data Warehouse” 中之後再做不同數據應用面向的數據轉換。

優點:​

  1. 維護數據轉換成本較低:因為可以借用在 Data Warehouse 本身在 analytics 上的效能做快速的轉換,所以在維護數據轉換的維護成本可以相對低很多。
  2. 減少維護數據渠道:由於在 ELT 的 extract 比起在 ETL 中的 extract 單純很多,他可以減少維護數據渠道的複雜度。
  3. 延遲性低:因為數據轉換是建置在 Data Warehouse 內部,所以數據處理就可以用 Data Warehouse 本身效能使用。

缺點:​

  1. 費用高許多:由於所有的數據處理都仰賴 Data Warehouse 的效能,所以機台的運算能力以及 concurrecy usage 會高非常多,在這個情況下費用可能會高非常多。
  2. 數據處理彈性低:由於使用 ETL 可以有千變萬化的數據轉換在其中,但如果是在載入到 Data Warehouse 中有許多數據處理上的彈性就不會這麼高。
  3. 資料必須載入:不論大小各種不同的資料集,各個單位的數據或是檔案都需要上傳至資料倉儲中才能去做運算,然而在現實上並不會所有東西都給到中央統一去上傳在做資料分配,而是各單位自己獨立營運。
  4. 資料髒亂:當數據歷史拉得更長的話,會有許多資料是已經不需要使用,但已經有許多 View 或是 materialized view 混搭使用這些原始資料,造成未來有資料耦合性問題,造成數據難以維護、更新與刪除。

第三種方式 不搬運也能運算: Data Virtualization

『資料虛擬化』是建制一個虛擬層在企業內的所有企業的數據源之上,透過連結器可以把數十數百或更多的數據源直接連結變成一個虛擬的資料庫,可以集中化資料安全,資料管理,最重要的讓企業可以更快從數據變成商用價值。

diagram

優點​

  1. 無須實體搬遷:透過虛擬數據運算層,不必實體的搬遷到資料湖或是資料市集以及複雜的 ETL 數據整合。
  2. 快速資料整合: 透過虛擬運算層,能夠連結各種資料庫、檔案格式、資料倉儲、資料湖的數據快速整合
  3. 降低資料調用風險: 企業內部可以透過資料虛擬化,管理資料權限給各個不同的應用單位,讓企業內部各單位可以查看完全不同的數據樣貌,且不影響資料源。
  4. 快速連結到各種不同的應用場景: 企業應用現今非常多元不論跨組織的應用像是 BI, AI, 資料分析, 儀表板、監控等等這些不同的應用都要使用綜合數據做加值。資料虛擬化技術能夠把數據快速轉化為商用用途。

缺點

  1. 需要評估足夠頻寬讓資料虛擬化讀取資料,或者調整內網網路設備

依照企業需求 混搭使用

以上三種方式,都是資料分析的前置作業,以 ETL 或 ELT 來說,更適合如果企業大量採用第三方服務、SaaS 服務時,需要將資料從提供商的伺服器搬下來,那麼 ETL/ ELT 會較為實用執行也較為輕鬆;但如果大多都是內部資料,那麼使用資料虛擬化,相較來說就是較不費時又快速的做法。但無論如何,您首先第一步是要先清楚目前公司的需求,再進一步做評估選擇,才能事半功倍。

本公司圖文版權所有,轉載請註明出處。

Share to your friends:
申請試用 Canner
申請試用