登入

會員權益

獲取需求

查看名片

專屬客服

尊貴標識

VIP低至1.5U/天

Netflix即時資料處理資料工程架構大公開

分享

2024-01-19

除了打造基於Apache Flink的即時資料平臺,來因應串流資料和資料服務產生的資料處理,這幾年,Netflix還發展出了一套新的資料處理平臺,稱為Data Mesh(資料網格平臺),可以從更抽象化的層次來設計、執行和管理資料處理流程

串流處理是Netflix資料工程技術架構中最典型的兩大資料流程之一。這個即時資料平臺提供了大規模執行Flink任務和打造Flink應用的工具,也可透過Spinnaker與底層基礎架構系統溝通,來部署需要的容器叢集資源。還內建了可觀察性、警報機制、配置機制和效能矩陣等工具。更提供了網頁介面的控制平臺(Control Plane),資料工程師可以很容易管理在這個即時資料平臺上的Flink應用。/Netfllix

最新一代資料處理平臺是資料網格平臺

Netflix的串流處理方式,除了用低階的Flink API來打造出一隻客製化的Flink,也可以用剛提到的Keystone來組合出一隻串流處理應用,但是,Keystone擅長ETL類的資料處理,遇到更複雜的資料處理邏輯,還要擴大規模,Keystone就顯得不夠用。

這幾年,Netflix發展出了一套新的資料處理平臺,稱為Data Mesh(資料網格平臺),可以從更抽象化的層次來設計、執行和管理資料處理流程。

資料網格平臺是一個通用型的資料移動和處理平臺。一開始,在2021年時,Netflix製片工作室為了將龐大的影片資料,在不同的電影製作階段中,需要一有影片內容異動,就得將異動段落內容,更新派送到不同的製作公司的資料工作流程管理平臺,當時的資料網格平臺還不是通用型的平臺,主要用來處理以異動資料更新模式為主的資料移動作業需求。

後來,資料網格平臺所支援的和資料類型越來越多,也可以支援更多形式的資料處理作業,甚至是一般資料移動的模式,或是更複雜的資料處理模式,例如過濾、聯集處理、JOIN連結等。

資料網格平臺主要功能區分為控制平臺(控制器)和資料平臺(工作流程),工作流程是實際的資料處理作業過程,而控制器則是用來接收使用者的需求,對定義好的工作流程,來進行部署和調度。控制器也會負責配置每一個工作流程需要的各種資源。一個工作流程,則包括了從不同資料源讀取資料,進行各種轉換處理,再存入資料儲存空間。

在資料網格平臺上,資料使用者,可以從更抽象層的角度,來操作不同資料處理作業的功能區塊,組合成一個完整的資料處理流程,這些區塊包括了資料源區塊(存取內部資料源)、資料源連結器區塊(連結外部資料源)、處理器區塊(負責資料處理邏輯的Flink任務)、用Kafka打造的資料搬運層區塊。

Netflix近3年又發展出了一套新的資料處理平臺,稱為Data Mesh(資料網格平臺),可以從更抽象化的層次來設計、執行和管理資料處理流程。資料使用者可以從更抽象層的角度,來操作不同資料處理作業的功能區塊。資料工程師只需控制滑鼠,拖拉UI介面上不同功能區塊元件,建立區塊間的連結關係,就可以完成這個工作流程,完全不用處理底層不同元件、服務、API之間的串接程式碼撰寫和配置細節。圖中為一個彙整不同公雲上不同,進行聯集處理、GraphQL處理、欄位更名再存入Iceberg資料表的工作流程。/Netfllix

所有工作流程都要定義資料結構,以便清楚追蹤資料血統

另外Netflix還規定,所有工作流程都要定義出資料Schema(資料結構),採用源自Hadoop專案的Avro資料格式,用JSON來訂定各自需要的資料架構格式。有了共同的資料架構格式,不只可以控管資料品質,能清楚追蹤資料血統(Data Lineage),也讓資料使用者更容易進行各種資料的探索。

每當建立一個工作流程時,都須要同步定義出這個流程所用資料的資料結構,資料網格平臺會自動依據資料結構,對這個工作流程中所有資料進行驗證和相容檢查。也會有自動化機制處理資料結構的變化,如果資料源的資料結構改變了,資料網格平臺會自動更新哪些用到這個資料源的所有工作流程,不用人工比對和更新這些資料架構的異動,大大減少資料維護的例行工作。

用滑鼠拖拉功能區塊元件,就能快速設計出一條工作流程

不只如此,資料工程師可以透過宣告式API,或是容易操作的UI介面,快速設計出一項資料處理程序的完整工作流程。資料工程師只需控制滑鼠,拖拉UI介面上的區塊元件,建立區塊間的連結關係,就可以完成這個工作流程,完全不用處理底層不同元件、服務、API之間的串接程式碼撰寫和配置細節。有了預先訂定的各種資料處理工作流程,當資料使用者提出請求,資料網格平臺會自動依據流程上的每一個步驟、區塊的功能,自動執行一連串的作業。

還有一群處理器區塊的工程師,專門開發和改善更多不同用途的Flink任務,來提供更多用途的處理器區塊。

Netflix也提供了不少常見資料處理作業的最佳工作流程範本,稱為最佳上路範本(The Paved Path),讓資料工程師快速套用,不用從頭開始構思,只要從範本開始修改客製即可,來縮短資料處理流程的設計時間。資料網格平臺正是Netflix資料工程架構中,最新一代的資料工作流程解決方案,可以提供非常高層次的抽像化,讓資料使用者更直覺,也更能聚焦在業務邏輯上,來設計他所需要的資料處理流程。

從零到2億名會員的過程中,為了支援各種資料工程的實踐,Netflix自己打造了各式各樣的工具和技術。Chris Stephens指出,資料工程技術架構最大的目的,就是要讓資料工程團隊最常做的事情,變得更簡單。

有了預先訂定的各種資料處理工作流程,當資料使用者提出請求,資料網格平臺會自動依據流程上的每一個步驟、區塊的功能,自動執行一連串的作業。還有一群處理器區塊的工程師,專門開發和改善更多不同用途的Flink任務,來提供更多用途的處理器區塊。Netflix也提供了常見資料處理作業的最佳工作流程範本(The Paved Path),讓資料工程師快速套用,不用從頭開始構思,只要從範本開始修改客製即可,來縮短資料處理流程的設計時間。/Netfllix

 相關報導 

免責聲明:
詳情

Please Play Responsibly:

Casino Games Disclosure: Select casinos are licensed by the Malta Gaming Authority. 18+