「Meta が公開したデータ処理の効率化・高速化を狙うエンジン Velox が面白そう | 」
日課の RSS フィードを眺めていると、クエリエンジンやデータ処理の最適化のための高速化ライブラリが Meta が OSS として公開した1 のを知った。 Velox のリポジトリはこちら facebookincubator/velox: A C++ vectorized database acceleration library aimed to optimizing query engines and data processing systems. 実際にリポジトリを観てみると C++で書かれており、たしかにパフォーマンスが高いのが納得。 ドキュメントやチュートリアルなどはこちらのサイトで用意されています。 Hello from Velox | Velox Meta 社内では、Presto や Spark に適用して処理の高速化、PyTorch に活用して前処理や特徴量エンジニアリングの高速化が進められているらしいです。 技術ブログ記事 1が何をやっているか明瞭なので、かいつまんでメモを残しておきます。 SQL の分析、ストリーミング処理や機械学習のためのデータ処理など実際の処理内容は似通っているが、様々なフレームワークが使われ、独立して進化している。 この断片化によって、保守と拡張が困難になっていたが、それらを統合する形で実行可能にするのが Verox Presto, Spark などのデータ処理エンジンは、一見異なるように見えるが、レイヤー構造で考えると非常に似通っている。 Verox は一般的に実行エンジンレイヤーの代わりとなり、式評価、集約、ソート、結合などの処理を提供する。(一般的に data plane と呼ばれる) 実例と結果 Presto は Java で実行されるが、それを C++の Velox で置き換えた。Prestissimo というプロジェクト名で進んだ。(カッコいいね) Java での実行と比べると、大体 6 倍ほど高速化された Spark 上では、Gluten とよばれるプロジェクトで Velox と同じように C++での実行を試みるプロジェクトが公開されている。 PyTorch の TorchArrowを Velox 上で実行可能 最終的には、Velox で従来のデータマネジメントの部分と機械学習インフラストラクチャの部分の垣根を統一することを狙っている。
コンテンツ文字数:0 文字
見出し数(H2/H3タグ):0 個
閲覧数:96 件
2022-09-02 11:03:55