AWS Big Data CannerFlow

什麼是 ETL?雲端建置 ETL 的 架構?

數據在近幾年是呈現指數性的成長,在任何行業在每日的數據生成以及使用都在數據的收集以及分析上更積極,也把數據認為是企業重要的一大資產。 IBM 報告中指書,全球在 2017 年所產生的資料為 2.5 Quintillion bytes 的資料。也就是說到了 2020 年,每秒每人會有 1.7MB 的數據被生產。所以現在許多企業都在數據上面做突破來因應為來的全球需求。

數據在近幾年是呈現指數性的成長,在任何行業在每日的數據生成以及使用都在數據的收集以及分析上更積極,也把數據認為是企業重要的一大資產。

Global growth trend of data volume, 2006–2020 (based on “The digital universe in 2020: big data, bigger digital shadows, and biggest growth in the far east”)
全球數據呈現指數性成長 (Source)

IBM 報告中指書,全球在 2017 年所產生的資料為 2.5 Quintillion bytes 的資料。也就是說到了 2020 年,每秒每人會有 1.7MB 的數據被生產。所以現在許多企業都在數據上面做突破來因應為來的全球需求。

但是數據在收集之後會有許多損失來自於壞資料的產生,MIT Sloan Management review reported  指出企業的數據有 15% ~ 25% 的損失來自於壞資料的產生,根據  2018 IDC Business Analytic Solutions survey 指出資料科學家、工程師花費 73% 的時間只為了把數據轉換成為可以用的數據,或是增值可以用來應用的數據集。這些隱藏的成本是企業在導入數據導向決策最大的成本。

您是不是在做很多數據專案時很常聽到一個詞那就是 ETL 係指 Extract, Transform, Load (ETL 為縮寫) ,用一個非常白話的方式講解 ETL 就是把數據從 A 地整理完後存到 B 地。這邊的處理有很多的處理方式像是資料清潔 (Data Cleansing)、資料轉換 (Data Transforming) 、數據整理 (Data Wranging)等等…。以下一般傳統的 ETL 的 Diagram。

Conventional ETL Diagram
Source: Wiki

從左而右可以看到數據從不同的應用,用批次的方式去做 ETL 轉換,轉換完成後再批次的輸入到不同的 Data Marts 或是 Data Warehouses。

也就是說通常壞資料 (Bad Data) 儲存到資料庫後,要用到後續的分析以及數據科學的時候就會去做 ETL 轉換後才能做到有效應用。

在開始數據清理及轉換之前

ETL 並不是一個系統,架設完之後就不用去管理他。他是需要時常去審查、更新以及當數據量突然變大量的時候它要有能力的擴充轉換,以及在不同情境的情況下你會使用 ETL 轉換成完全不同的架構,所以當你要開始架設 ETL 時最重要的事情是你需要知道你的目的是什麼,不同目的會有不同的架設以及部署方式。

您要先了解幾個問題

  1. 定義出你的商業用途:明確瞭解商業的目標,公司的團隊想要達到什麼樣製作出怎麼樣的數據系統來達到什麼商業用途,決定你要怎麼建置整套架構
  2. 資料來源與輸出:你需要了解你的數據來源要如何獲得,轉換完後希望可以存到哪個地方,數據量來源的大小以及轉換後他的數據大小需要多快速的分析得到想要的結果。都是需要先做調查取得想基本的想法架構,不同狀況下架構是會非常不同,而且可能會影響最終維護成本多寡,可能會數十倍之多。
  3. 轉換完成後誰要使用:最後建置完成整個數據倉儲後,是由哪個單位要依照什麼形式操作或是多久更新資料集,這些都要事先規劃出來。

當數據量越來越多時,你會需要在事先做 Data profiling 來得知數據的狀況,像是數據架構、空值、離群值等資訊來了解數據品質的問題。了解了數據的狀況後,才知道如何轉換以及變換成商業用途。

ETL 在雲端架構?

現在越來越多的流行時把從數據源製作 ETL 除存到雲端的 Data warehouses 下面使用幾個 Google Cloud Platform, Azure, Amazon 的解決方案。把整段 ETL 建置在 Cloud 有許多優勢

  • 彈性:當你需要的時候,可以去自動增減機器。
  • 價格:由於以往如果 On-Premise 的建置的話,就會需要許多機台。以及沒有這些 cloud 架構,公司內部會請很多 in-house 的 DevOps 或是 IT 人員建置。

缺點:

  • 專業人員:需要對整個 Cloud Platform 非常專業,建置、維護、更新。
  • 流程複雜:由於這些雲端的供應商,為了要把所有服務能夠覆蓋到最多客戶,所以現在他們把每一個部分都切的很細。讓使用者自己 modulize 去組合。所以在使用上有非常多設定。
  • 操作不易:現在許多雲端供應商,為了要快點發布到市場上,所以有許多服務只是在把整個 open source 解決方案上面包一層收費及設定機制就在收錢。所以在使用部分服務都不是很容易使用,而且很多潛在問題以及限制。
GCP Solution
Azure Solution
AWS Solution

如何解決?

Canner, Inc 讓企業導入數據導向決策更簡單。Canner, Inc 所開發的 CannerFlow 是一個 Cloud-Native 的數據管理平台,解決在 Cloud Providers 上面的缺點專業人才、流程複雜、操作不易, CannerFlow 內建的數據整合系統可以節省大部分製作 ETL 流程。幫助企業導入數據分析流程更省錢快速地得到 Data-driven insights!

1 comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: