Meta、Voltron Data和Apache Arrow社群合作,目的是協調整合Meta開源執行引擎Velox與行式資料框架Apache Arrow。新版的Arrow 15將會基於這次合作引入3種新的格式布局,而這將有助於Meta與廣泛社群,建立一個統一、有效率且可組合的資料管理系統。

Meta在2022年開源執行引擎Velox,改善資料處理和分析系統的效能,以C++函式庫的形式實作。Velox的特色在於提供過去只在單獨引擎中可用的功能統一實作,來最佳化系統效能,加速資料處理、查詢效率,以及更好的資源管理。Velox目前已經被Meta用於超過10個系統中,提升與Apache Spark、Presto等知名系統的整合效率3到10倍。

Meta資料基礎設施團隊一直在思考資料管理系統的設計方式,希望讓內部的資料管理系統更具組合性,也就是說,透過通用元件將單一系統分解成可重複使用的函式庫,並利用通用API和標準來增加元件之間的互通性。而當Meta將大型單一系統分解成模組化元件堆疊時,與Apache Arrow這些開源元件的互通性也就變得更加重要。

Apache Arrow是一個受廣泛使用的開源框架,專門用於行式記憶體內資料的高效處理和傳輸,其設計使得大資料和分析應用,能夠快速執行和移動大量資料,避免常見的效能瓶頸。

由於要實現元件的互通性,可組合資料管理系統必須理解常見的儲存格式、網路序列化協定、表格API,並具有統一的計算表達方式,而Meta解釋,通常必須讓這些元件直接共用記憶體中的資料,像是跨語言邊界傳輸資料,才能有效地支援用戶定義函式。

因此Meta決定與Voltron Data、Arrow社群合作,將開源行式資料布局和Velox進行整合。而這項合作的重點在於盡可能使API遵循開放標準,Meta指出,Arrow可以被視為Velox的底層,Arrow描述了行式資料在記憶體中表示的方法,而Velox提供了一系列執行和資源管理資料的原語。

不過,Meta在當初開發Velox時,設計了Velox Vectors布局來加速工作負載中常見的資料操作,Velox Vectors具有快速移動資料所需要的效率和敏捷性,但Meta指出,這樣的設計卻造成了碎片化,降低了元件的互通性。

因此現在Velox與Arrow協調融合雙方格式,在Arrow 15.0.0加入由Velox Vectors衍伸的3種資料格式布局,包括StringView、ListView和Run-End-Encoding(REE),如此不僅可以使用Velox與Arrow進行跨元件的記憶體內通訊,達到資料零複製的目的,而且也提高了Arrow在現代執行引擎的可用性,能夠支援更高效能用例。

熱門新聞

Advertisement