在建立Data pipeline 時我們常會碰到類似的場景。這邊帶大家了解一些常見的Data pipeline 類型,我們在開發Data pipeline 的時候如果有遇到相同的場景,可以參考這些架構之上進行設計開發。
ETL 算是很常聽到一個名詞,很多人會有一個問題,ETL 就是 Data pipeline 嗎?其實 ETL算是 Data pipeline 諸多種類的其中一種,這種 Data pipeline 算是非常常見的,所以才會讓人以為 ETL 就是 Data pipeline。接下來我們好好的介紹一下大名鼎鼎的ETL:
ETL 將來源資料進行擷取(Extract)、轉換(Transform)之後載入(Load)到目標位置,提供資料的使用者所期望看到的整理後的數據並做出相對應決策。
這邊的E,L,T代表的英文字以及其意義都與上述的 ETL一模一樣,唯一的差別就是排列的順序不同。在ELT pipeline的流程是從Data source 擷取資料之後就直接把資料存放至目的資料位置,之後再隨著使用情境進行轉換(Transform)。
圖片來源:Data Lakehouse, Data Mesh, and Data Fabric - James Serra - Calgary Azure Analytics UG - June 2022
按照Data pipeline執行的方式我們常見的方式是Batch 或是 Streaming,Batch Data pipeline是按照排程批次處理相關的資料處理。
而Streaming 處理的是串流的資料,這樣的Data pipeline應用場景往往是需要即時資料的取得,並需要在即時作出判斷及應對的動作。
此類型 Data pipeline 的機制會去偵測 Data Source 的資料狀態,如果有更改的時候就會啟動執行 pipeline 流程,CDC 根據Data source 的狀態提供即時獲近乎即時的數據移動。
現在許多行業中,數據以驚人的速度在增加,CDC 可以在快速變動的場景當中提供有效率的資料複製及資料移動。並藉此提供資訊供以決策。在搬動雲端資料時候,CDC 也是一個很適合的方式。
CDC啟動的依據大致上可以分為以下幾種方式:
Reference:
https://cloud.google.com/blog/topics/developers-practitioners/what-data-pipeline-architecture-should-i-use/
https://www.qlik.com/us/data-integration/data-pipeline
https://hevodata.com/learn/data-pipeline/
https://mile.cloud/zh/resources/blog/understand-data-pipeline-automation-etl-data-analytics_610?utm_source=google&utm_medium=cpc&utm_campaign=SEM_TW
https://www.qlik.com/us/change-data-capture/cdc-change-data-capture
https://www.youtube.com/watch?v=4IsIV7Uvr9w
Data pipeline 的種類非常的多,未來隨著科技持續演進,相信會有更多的種類以及流程出現,我們了解這些Data pipeline 的做法之後,可以讓裝填我們腦袋中的武器庫,在處理不同的場景可以拿出不同的武器。另外也透過瞭解各種 Data pipeline 做法,未來若要進行服務的設計,我們也可以從中獲取靈感。