FacebookがSQLを高速化する方法
(datanami.com)- Prestoを大規模に利用中:4万台のサーバー、毎日約1 ExaByteのデータをスキャンし、その80%以上が新しいETL
→ ComputeとStorageの分離
- Prestoはうまく動作していたが、より高速なクエリ(1秒未満)のためにRaptorを開発
→ ローカルSSDにキャッシュ、ファイル単位のメタストア
→ 再びComputeとStorageが結合されることになり、スケーリングと管理が難しくなる
- 昨年秋から、Alluxioを改修したRaptor代替の開発を開始:Alluxio Local Cache
→ Raptorに近い性能だが、ローカルSSDにキャッシュする必要がない
→ Alluxioは仮想分散ファイルシステムとして、複数の計算エンジンを複数のストレージにメモリベースで接続する中間レイヤー
- Alluxio Local Cache
→ 2.2バージョンから公式リリースに含まれる
→ Alluxio全体を使う必要はなく、Presto Server JVM内に埋め込み可能なライブラリ
- Facebook全体のPresto fleetにおいてRaptorをほぼ撤去し、Alluxio Local Cacheを導入
→ FacebookのデータはORCファイルフォーマットで、HDFSインターフェース経由でアクセス可能
→ ローカルSSDも使うが、キャッシュになければリモートストレージにもアクセス可能
→ Prestoで30%〜50%程度の性能向上
→ Raptor比でリモートストレージアクセスが57%減少
→ Alluxio Cacheのヒット率は90%以上
→ 6か月以内にRaptorはすべて削除予定
まだコメントはありません。