この記事はAnnouncing: MySQL HeatWave Lakehouse General Availabilityの翻訳版です。
本日、MySQL HeatWave Lakehouseの一般提供開始とMySQL Autopilotの新機能を発表しました。これにより、お客様は標準SQLを利用して、データベースチューニングの専門知識がなくても、オブジェクトストアから効率的なデータの参照が行えるようになります。CSV、Parquet、AuroraやRedShift、MySQLのエクスポートファイルなど、様々なファイル形式に対応しています。 MySQL HeatWave Lakehouseでは、オブジェクトストレージに格納された最大0.5ペタバイトのデータに対してクエリを実行でき、MySQLデータベースに格納されているトランザクション・データと結合させたクエリを1度に実行することも可能です。こちらは、オブジェクトストア上のデータはMySQLデータベースにはコピーされず、オブジェクトストアにデータが存在したままの状態で実現可能です。
MySQL HeatWave Lakehouseは MySQL HeatWave の機能で、並列性の高いインメモリ・クエリ・アクセラレータを搭載したフルマネージド・データベース・サービスです。データウェアハウスのワークロードにおいて、業界最高のパフォーマンスと価格を実現します。また、自動化されたイン・データベースの機械学習処理機能が提供されており、さらにトランザクション、アナリティクス、機械学習、そしてオブジェクトストアのクエリを1つのMySQLデータベースに統合した唯一のクラウドデータベースサービスであり、ETLを利用することによるシステムの複雑さ、レイテンシー、コスト上昇を伴うことなく、リアルタイムで安全なアナリティクスを実現します。
Data Lakehouse機能が必要な理由

MySQL HeatWaveでレイクハウスをサポートする理由はいくつかあります:
- ここ数年、オブジェクトストアやデータレイクに保存されるデータはかつてないほど増加しています。
- そのようなデータを分析するニーズはあるものの、そのサイズや構造の欠如していたり標準的なクエリツールでの分析が難しく、コストもかかります。
- データレイク内のデータとデータベース内のトランザクションデータを組み合わせて分析を行いたいというニーズはありますが、その複雑さ、時間、コストのためにオブジェクトストアにあるファイルのデータをデータベースにロードして分析することが実現に至らないケースも多くあります。
MySQL HeatWave Lakehouseは、統合された効率の良いソリューションで、これらの課題を解決します。MySQL HeatWaveは、オブジェクトストア内の数百テラバイトのデータに対してクエリを実行できるように強化されています。HeatWaveは最大512ノードまでスケールアップできるため、MySQL HeatWave Lakehouseを使用して、最大で0.5ペタバイトのデータに対してクエリを実行できます。オブジェクトストア上のデータに対するクエリ実行の性能は、データベース上のデータに対するクエリの性能と同等です。要するに、データレイクに大量のデータがある場合、MySQL HeatWaveを使用してクエリを実行することが可能になります。
HeatWave Lakehouseは、CSV、Parquet、さらにデータベースからのエクスポートなど、様々なファイル形式のデータを処理できます。オブジェクトストアからMySQLデータベースにデータをコピーすることなく、オブジェクトストレージ上のデータに対してクエリを実行でき、オプションでMySQLデータベース上のトランザクションデータと結合させることができます。
500TBのTPC-Hベンチマークにおいて、MySQL HeatWave Lakehouseのクエリ性能は、Snowflakeの17倍、Amazon Redshiftの9倍、Databricksの17倍、Google BigQueryの36倍となっています。大量のデータを扱う際には、ロード性能も重要ですが、500TBのデータセットでは、HeatWave Lakehouseのロード速度はSnowflakeの2倍、Amazon Redshiftの9倍、Databricksの6倍、Google BigQueryの8倍となっています。MySQL HeatWave Lakehouseは、オブジェクトストアからのデータのロードとクエリの両方で業界最速のデータベースです。
MySQL HeatWave Lakehouseのアーキテクチャ
HeatWave Lakehouseは、データレイクに対するクエリ実行においてユーザーが直面する主要な課題に対応できるよう設計されています:
- スケールアウトアーキテクチャにより、HeatWaveは数ギガバイトから500 テラバイトまでのデータサイズに対して、圧倒的なパフォーマンスでクエリをロードし実行することができます。HeatWaveクラスタは最大512ノードまで拡張可能です。
- MySQL Autopilotは、ファイルからスキーマの自動推論、最適なクラスタサイズの予測、オブジェクトストアからデータをロードする時間の予測など、一般的なデータ管理タスクを自動化します。
- データベースとオブジェクトストアのデータに対する統一されたクエリエンジンを実現。ロード時に、HeatWaveはあらゆるソースからのデータを最適化された単一の内部フォーマットに自動的に変換します。つまり、データソース(InnoDB上のデータ、オブジェクトストア上のデータ)に関係なく、同じパフォーマンスでクエリを最適化して実行することができます。
- HeatWave LakehouseはMySQLのシンタックスに100%準拠しています。MySQLで動作するアプリケーションは、オブジェクトストアのデータを変更することなく動作させることができます。
- 可用性を備えたマネージド・データベース・サービスにより、HeatWaveクラスタにロードされたデータは、コンピュートノードに障害が発生した場合でも、外部データフォーマットから再変換することなく、自動的に復旧することができます。
- 事前認証リクエスト(PAR) や OCIリソース・プリンシパル などを利用してセキュアなアクセス制御方法を実現し、データレイクソースへのアクセスを完全に制御します。
スケールアウトのアーキテクチャ
HeatWave Lakehouseは、最大512ノードまで拡張可能で、最大0.5ペタバイトのデータを処理できます。並列性が高く、高性能なインメモリ・クエリ処理エンジンを搭載しています。HeatWave Lakehouseでは、オブジェクトストアからのデータのロードとデータのクエリがスケールアウトします。

ロード実行時にオブジェクトストアからのデータはHeatWaveのインメモリフォーマットに変換されます。ロードプロセスをスケールするために、HeatWave Lakehouseは、ソースデータをスーパーチャンキングと呼ばれるより小さなユニットに分割することにより、ノード間の同期を最小限に抑えます。動的なタスクバランシングによって、タスクを適切にクラスタ全体に分散させることで、クラスタ内のすべてのコアがフルに利用されるようになり、滞留タスクの発生を回避させます。アダプティブ・データ・フローにより、クラスタ内の各ノードは、その時点で利用可能な最大レートに合わせてオブジェクト・ストアへのリクエストレートを独自に調整することができます。
MySQL Autopilot
MySQL Autopilotは、MySQL HeatWaveに統合された機能で、機械学習技術によって様々なデータベース操作を自動化し、開発者とデータベース管理者の負担を軽減します。Lakehouse用に強化され、MySQL HeatWave Lakehouseのスケーリング、ロード、処理を効率的に行うのに役立っています。以下は、HeatWave Lakehouse用に開発されたMySQL Autopilotの機能です:
- 自動スキーマ推論: MySQL Autopilotはインテリジェントにファイルをスキャンし、カラム数、カラムのデータ型、カラムの精度を自動的に推測します。これは、ファイルにメタデータが含まれていないCSVファイルを扱う場合に特に便利です。
- アダプティブ・データ・サンプリング: インテリジェントにファイルをサンプリングして、自動化に必要な情報やデータに関する情報を導き出します。MySQL Autopilotは、これらの技術を使用して、400TBのファイルを1分以内にスキャンし、スキーマ予測を行うことができます。
- アダプティブ・データ・フロー: MySQL Autopilotは、大規模なノード・クラスタ全体でオブジェクト・ストアに対するネットワーク帯域幅の使用率を調整し、基盤となるオブジェクトストアのパフォーマンスに動的に適応し、最適なパフォーマンスと可用性を実現します。
Data Lakehouseのパフォーマンス
パフォーマンスの評価は多面的であり、お客様はレイクハウス システムのパフォーマンスを評価する際にいくつかの基準を持っています。 当社のベンチマークは、データのロードとデータのクエリのパフォーマンスとコストパフォーマンス、データベース内のデータのクエリとパフォーマンスの比較、さまざまなファイル形式でのロードとクエリのパフォーマンスなど、よくお問い合わせいただく内容を網羅しています。
データのロード

MySQL HeatWave Lakehouse を使用してオブジェクト ストアからデータをロードする性能は以下の通りです。
· Redshiftよりも9倍高速
· Snowflakeよりも2倍高速
· Databricksよりも6倍高速
· Google BigQueryよりも8倍高速
クエリの実行

MySQL HeatWave Lakehouseのクエリ実行性能は以下の通りです:
- Redshiftより15倍高速
- Snowflakeより18倍高速
- Databricksより17倍高速
- Google BigQueryより35倍高速
*ベンチマークに使用したクエリは TPC-H ベンチマークから派生していますが、結果は TPC-H 仕様に準拠していないため、公開されている TPC-H ベンチマーク結果と比較できません。
オブジェクトストア内のデータとデータベース内のデータに対するクエリ実行性能の比較
HeatWave Lakehouse は、同じクエリ構文とセマンティクスを使用してデータベース内とオブジェクトストア内のデータに対してクエリを実行できますが、パフォーマンスはどのようになるでしょうか?

これら 2 つのグラフから分かるように、オブジェクト ストア データのクエリのパフォーマンスと価格パフォーマンスは、データベースからのデータのクエリと同じです。

様々なファイルに対するクエリ実行
保存されたオブジェクトストア上のデータは、ロード実行時に HeatWave のメモリ上で変換されます。 この形式はソースファイルの形式に関係なく同じです。 したがって、クエリのパフォーマンスはオブジェクトストア内のすべてのファイル形式で同じになります。 データ読み込みのパフォーマンスもほぼ同じです。
まとめ
HeatWave Lakehouseにより、MySQL HeatWave の機能が強化され、オブジェクトストア内のファイルに対してクエリを実行できるようになりました。 データのロードとクエリ実行は拡張性の高い方法で実行され、業界最高のパフォーマンスとコストパフォーマンスを実現します。 データはオブジェクトストア上に維持され、クエリを実行するために MySQL データベースにはコピーされません。 このサービスは、OCI のすべてのリージョンで利用することができます。
補足資料
- ベンチマーク結果の詳細 Oracle.com Github
- MySQL HeatWave Lakehouse無料トライアル
- MySQL HeatWave Lakehouse の詳細
- MySQL HeatWaveへの移行

