iT邦幫忙

2023 iThome 鐵人賽

DAY 6
1

之前的討論,我們從真實的需求開始談起:真實的需求常常是 OLTP 與 OLAP 的需求混在一起談,接著談到開發資料應用的挑戰、商業智慧 (BI) 解決方案的發展史、技術棧 (technical stack) 的決策、ELT 取代 ETL。

基於之前的討論,我們可以列出一個理想中的資料處理架構應該要滿足的條件:

  1. ELT 取代 ETL
  2. T 也就是『 資料轉換』主要透過寫 SQL ,並且在資料倉儲裡完成
  3. 分析工程師 (Analytic Engineer) 負責寫 SQL
  4. 資料建模層 (data modeling layer) 做為主要介面

而滿足上述條件的資料處理架構,就是 modern data stack ,參考下圖。

modern data stack

Modern Data Stack 由哪些組件構成

  • Data Source 是資料的來源。它可能是公司的主要資料庫 (比方說,該資料庫支持著公司的電商網站的運作),或是第三方的資料 (比方說,Google Analytics) ,又或是公司員工手動輸入的資料。
  • EL tools 是一類特別的軟體,它通常是大量已經寫好、可以直接拿來使用的軟體函式庫。在 E (extract) 抽取的功能,它支援讀取各式各樣的資料源,比方說:Google Analytics、CSV、Postgres 。在 L (load) 載入的功能,它支援寫入各式各樣的資料終端,在 modern data stack 的應用,資料終端通常會是各式的資料倉儲 (data warehouse),比方說:BigQuery、Snowflake、Databrick 等。
  • Data warehouse :常見的選項有 BigQuery, Snowflake, Databrick 。之後的例子,為了讓讀者可以快速上手,我會採用 duckdb 做為 Data warehouse
  • Transformation layer: 常見的作法之一,是用 dbt 這套軟體,搭配 SQL 來做出資料建模層。
  • View layer:凡是繪圖或是直接用肉眼讀取資料,都是利用這一層的工具。之後的例子,我會採用 Metabase 。

其它資源

  1. 對 dbt 或 data 有興趣 👋?歡迎加入 dbt community 到 #local-taipei 找我們,也有實體 Meetup 請到 dbt Taipei Meetup 報名參加
  2. 歡迎訂閱 PruningSuccess 電子報,主要談論軟體開發、資料處理、資料分析等議題。

上一篇
ELT 取代 ETL
下一篇
View layer: Metabase - 簡介
系列文
當代資料工程與資料分析30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言