Apache Spark and Photon Receive SIGMOD Awards - The Databricks Blogの翻訳です。
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
今週、2年間のバーチャル開催の後、データ管理コミュニティで影響力を持つ多くのエンジニア、研究者によって、フィラデルフィアで対面のACM SIGMODカンファレンスが開催されます。このイベントの中で、以下の2つの賞を目撃できることに興奮しています。
- Apache SparkがSIGMOD Systems Awardを受賞
- DatabricksのPhotonがBest Industry Paper awardを受賞
この背景と、どのように我々がここまで辿り着いたのを議論する良い機会だと考えました。
ACM SIGMODとそれらの賞とは何?
ACM SIGMODはAssociation of Computing Machinery’s Special Interest Group in the Management of Dataの略です。誰も長い名前だと思っています。皆さんはシンプルにSIGMODと呼んでいます。クエリー最適化のためのカラムストアのような、データベース領域における多くの画期的なアイデアはこの場で発表されており、データベース研究者、エンジニアにとって最も権威のあるカンファレンスです。
SIGMOD Systems Awardは、年に一度「大規模データマネジメントシステムの実践、理論に偉大なるインパクトを与えた技術的貢献をもたらしたシステム」に与えられます。これらのシステムは、リアルワールドの大規模アプリケーションであったり、未来のデータベースがどのように設計されるのかに影響を与える傾向があります。過去の受賞者には、Postgres、SQLite、BerkeleyDB、Auroraなどがあります。
Best Industry Paper Awardは、リアルワールドのインパクト、イノベーション、プレゼンテーションの質の組み合わせに基づいて、年に一度論文に対して授与されます。
Apache SparkのデータとAIの起源
約十年前、Netflixは自身のユーザーの映画のレーティングの膨大なコレクションを匿名化し、競争者に対してユーザーがどのように映画をレーティングするのかを予測するアルゴリズムを考案することを募ったNetflix Prizeというコンペをスタートしました。ベストな機械学習モデルを考案したチームには百万USDが与えられます。
UCバークレイのPhDの学生グループは参加することに決めました。最初に直面した課題は、ツールセットが単純に十分ではないというものでした。優れたモデルを構築するためには、大量データを高速かつイテレーティブにクレンジング、解析、処理するための手段が必要(学生のラップトップでは無理でした)であり、実験的なMLアルゴリズムを形成するのに十分に表現的なフレームワークを必要としました。
エンタープライズデータ向けには標準であるデータウェアハウスは、非構造化データを扱うことができず、表現能力に欠けていました。彼らは他のPhDの学生、Matei Zahariaとこの問題を議論しました。彼らは一緒になって、Sparkと呼ばれる新たな並列計算フレームワークとRDDと呼ばれる新たな革新的なデータ構造を設計しました。Sparkによって、ユーザーはクイックかつ簡潔にデータの並列処理を実行できるようになりました。
あるいは別の見方をすると、コードの記述や実行が高速になったと言えます。コードを高速に書けることで、プログラムをより理解しやすいものにでき、容易により複雑なアルゴリズムを構成するために活用できるようになります。高速に実行できるということは、フィードバックをクイックに得ることができ、増加し続けるデータを用いて自身のモデルを構築できるということを意味します。
学生たちは一人ぼっちではないことがわかりました。これらは業界におけるデータ&AIアプリケーションの黎明期では共通したものであり、誰もが同じような課題に直面していました。人気の高まりを受けて、プロジェクトはApache Software Foundationに移行し、膨大なコミュニティを生み出しました。
今では、Sparkはデータ処理のデファクトスタンダードになっており、
- PyPIとMaven Centralのみで、先月は4500万ダウンロードされました。これはダウンロードのYoY(year-over-year)成長が90%であることを意味します。
- 少なくとも204の国、地域で使用されています。
- Stack Overflow’s 2021 developer surveyでは、満足するテクノロジーでNo.1にランクされました。
SIGMOD Systems Awardは、データとAIを統合されたパッケージと考えるに至ったシステムの誕生に対する影響力とプロジェクトの受容を証明するものです。
Photon: 新たなワークロードとレイクハウス
Apache Sparkの人気が高まるにつれて、多くの企業が大規模データ処理やそれらを用いた機械学習以上のことを行いたいと考えていることに我々は気づきました。彼らは、複数のデータシステムを管理する必要性を排除し、ビジネスで活用しているのと同じデータセットに対して、従来型のインタラクティブなデータウェアハウスのアプリケーションを実行したいと考えていました。これは、データウェアハウスとデータレイクシステムの長所を組み合わせることで、大規模処理とインタラクティブなSQLクエリーを実行できる単一のデータストアであるレイクハウスシステムのコンセプトにつながりました。
これらのタイプのユースケースをサポートするために、Sparkの既存のプログラミングインタフェースの背後で、SparkとSQLワークロードを行うためのC++の高速ベクトライズド実行エンジンであるPhotonを開発しました。Photonによって、同じAPIとSQL、Python、Javaアプリケーションを含むワークロードをサポートしつつも、Sparkよりもはるかに高速かつ高い同時実行性を発揮するインタラクティブクエリーを現実のものとしました。あらゆる規模におけるワークロードに対してPhotonが素晴らしい結果を出していることを目撃してきており、昨年我々は大規模TPC-DSデータウェアハウスベンチマークで世界記録を達成し、小規模かつ同時実行性の高いクエリーで3倍の性能を打ち出しています。
32同時実行システムにおける10GB TPC-DSクエリー/Hr (高いほど優れています)
(さまざまなアプリケーションをサポートするために)Sparkの表現能力と柔軟性を維持し、(性能劣化を防ぐため)決して遅くなってはならず、ターゲットとするワークロードでははるかに高速にする必要があったため、Photonの設計と実装は困難なものでした。さらに、すべてのデータをプロプライエタリなフォーマットにロードしなくてはならない従来型のデータウェアハウスとは異なり、Photonはレイクハウスの中で動作する必要があり、Delta LakeやApache Parquetのようなオープンフォーマットのデータの取り込みプロセスに関する要件を最小化(例: インデックスの可用性やデータの統計情報など)にした上で処理する必要がありました。我々のSIGMODの論文では、我々がどのようにこれらの課題の取り組んだのか、そして、Photonの実装の技術的詳細を説明しています。
我々の取り組みがBest Industry Paperとして認められたことを大変嬉しく思っており、これがデータベースエンジニア、研究者の皆様に対して、レイクハウスシステムの新たなモデルにおいて何が課題なのかをお伝えできることを望んでいます。もちろん、これまでにお客様がPhotonを用いて成し遂げたことについても大変興奮しています。すでに、我々の新たなエンジンは、我々のワークロードで大きな割合を占めるようになっています。
もし、SIGMODに出席されるのでしたらDatabricksのブースに立ち寄ってください。一緒に未来のデータシステムに関してお話しできたらと考えています。お礼として、「ベストなデータウェアハウスはレイクハウス」Tシャツをお渡しします!