0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Apache DorisをAWS Graviton5で検証:最大78%高速化

0
Last updated at Posted at 2026-11-04

本記事は「Apache Doris on AWS Graviton5: Up to 78% Higher Query Performance」(https://www.velodb.io/blog/apache-doris-on-aws-graviton5-up-to-78-higher-query-performance )を日本語に翻訳・再構成したものです。

TL;DR

  • Apache Doris 上で 194 本の分析クエリを、Amazon EC2 M9g(AWS Graviton5) と M7i(第4世代 Intel Xeon) で実行しました。
  • 5 つのベンチマークスイートすべてで Graviton5 の方が高速で、向上幅は 18%(TPC-DS)から 78%(ClickBench) でした。
  • 個々のクエリで見ても 194 本中 191 本 が Graviton5 で高速化しました。

本記事は講演「Apache Doris on AWS Graviton5: Real-Time OLAP Price-Performance, Benchmarked」の補足記事です。AWS のケーススタディでは x86 から Graviton5 への比較で「最大 78% の性能向上」と紹介されていますが、この 78% は 5 つのスイートのうち ClickBench の結果です。

Graviton5 で何が変わり、なぜ OLAP に効くのか

AWS が公表している Graviton5 の主な仕様は次のとおりです。

  • 1 チップあたり最大 192 コア
  • L3 キャッシュ総量が Graviton4 の 5 倍(コアあたりでは 2.6 倍)
  • クロック 3.3 GHz(Graviton4 は 2.8 GHz)
  • コア間レイテンシが最大 33% 低減

また AWS は、データベースワークロードで Graviton4 比最大 30% の性能向上を報告しています。

これらを分析処理に当てはめると、次のように効いてきます。

特徴 分析処理への効果
キャッシュ JOIN や集約のハッシュテーブルがキャッシュに収まれば、メインメモリへのアクセスを回避できる
コア 各 vCPU が物理コアに対応するため、Doris のパイプラインタスクが兄弟スレッドとコアを共有しない
レイテンシ 並列タスク間のデータ交換や、部分集約結果のマージが速くなる

Apache Doris はスキャン、JOIN、集約、ソート、データ交換を Arm 向けに最適化しており、x86 の SSE/AVX 向けベクトル化コードを Arm NEON へ移植する作業も行っています。

テスト方法

  • 比較対象:EC2 M9g(Graviton5) vs M7i(第4世代 Intel Xeon Scalable、Sapphire Rapids)
  • 両環境で同一バージョンの Doris、同一データ規模を使用
  • SSB、TPC-H、TPC-DS はスケールファクタ(SF)100
スイート クエリ数
ClickBench 43
SSB 13
SSB Flat 13
TPC-H 22
TPC-DS 103
合計 194

評価指標はクエリごとのホットラン時間で、スイート単位で合計しています。性能向上率は次の式で定義しています(78% という数字もこの定義に基づき、以前の Graviton4 の検証でも同じ定義を使っています)。

性能向上率 = (x86 の実行時間 ÷ Graviton5 の実行時間) − 1

結果:Graviton5 はどれだけ速いか

すべてのスイートで Graviton5 が上回りました。最も伸びたのは ClickBench(78.3%)、最も小さかったのは TPC-DS(18.0%)です。

図1:スイート別の性能向上率(Graviton5 M9g vs x86 M7i、ホットラン合計時間ベース)

スイート クエリ数 x86 M7i (s) Graviton5 M9g (s) 性能向上率 実行時間削減率
ClickBench 43 8.49 4.76 78.3% 43.9%
SSB Flat SF100 13 0.79 0.52 51.2% 33.9%
SSB SF100 13 1.82 1.28 42.3% 29.7%
TPC-H SF100 22 8.90 6.73 32.2% 24.4%
TPC-DS SF100 103 39.71 33.66 18.0% 15.2%

「性能向上率」と「実行時間削減率」は同じ結果の別表現です。たとえば ClickBench の「78.3% 高速」は「実行時間が 43.9% 短い」と同じ意味です。

クエリ単位でも成り立つか

  • 194 本中 191 本 が Graviton5 で高速化
  • クエリ単位の高速化倍率の中央値は 1.48 倍
  • ClickBench の 2 本はどちらも 1 ms で同値
  • 最大の向上は ClickBench Q40 の 3.64 倍

図2:クエリごとのホットラン時間(横軸 x86、縦軸 Graviton5、対数スケール)。破線より下の点は Graviton5 の方が速いクエリ

唯一遅くなったのは TPC-DS Q51 で、Graviton5 では 4,487 ms、x86 では 1,002 ms でした。Q51 はウィンドウ関数と FULL OUTER JOIN を使って累積売上を計算するクエリです。このクエリも合計値に含めており、除外した場合 TPC-DS の向上率は 18.0% ではなく 32.7% になります。

どのワークロードが最も恩恵を受けるか

スイート 処理の特徴 性能向上率
ClickBench 1 つのワイドテーブルに対するフィルタ、GROUP BY、文字列関数 78.3%
SSB Flat SSB のデータを事前に JOIN して 1 テーブル化 51.2%
SSB スタースキーマ(ファクト 1、ディメンション 4) 42.3%
TPC-H 8 テーブル、多段 JOIN とサブクエリ 32.2%
TPC-DS 24 テーブル、複雑な JOIN とウィンドウ関数 18.0%

最もわかりやすい比較は SSB Flat と SSB です。データは同じで、JOIN を事前計算しているかどうかだけが違います。JOIN をなくすことで向上率は 42.3% から 51.2% に上がりました。

このため、最も大きな効果が期待できるのは、顧客向けダッシュボードや、ワイドテーブル上のログ・イベント分析です。

Doris 向けの Graviton5 インスタンスの選び方

インスタンスファミリー 想定ワークロード
M9g(汎用) ダッシュボードとアドホック SQL の混在。今回ベンチマークしたファミリー
C9g(コンピューティング最適化) スキャンや集約が中心のワークロード
R9g(メモリ最適化) 大規模な JOIN、高カーディナリティの集約
M9gd / C9gd / R9gd 上記にローカル NVMe SSD を追加した「d」バリアント

選定にあたっての推奨事項は次のとおりです。

  • 自社のクエリを、ピーク時の同時実行数で検証する
  • Doris のバージョンとデータを比較対象間で揃える
  • スループットだけでなくレイテンシも測定する

詳しくは AWS の「AWS Graviton Performance Testing」ホワイトペーパーも参考になります。

FAQ

Q. AWS Graviton5 上の Apache Doris は x86 と比べてどれくらい速いですか?
M9g と M7i の比較で、5 つのスイートは 18%(TPC-DS)から 78%(ClickBench)高速でした。194 本中 191 本のクエリが高速化し、中央値は 1.48 倍です。

Q. 「78% の性能向上」は「実行時間 78% 削減」という意味ですか?
いいえ。同じ結果の別表現です。ClickBench は 1.78 倍速く(性能向上 78.3%)、これは実行時間 43.9% 削減に相当します。

Q. どの Doris ワークロードが Graviton5 の恩恵を最も受けますか?
ワイドテーブルに対するスキャン・集約中心のクエリです(ClickBench 78.3%、SSB Flat 51.2%)。JOIN が多いスイートでは TPC-H 32.2%、TPC-DS 18.0% でした。

Q. Graviton 向けの特別な Doris ビルドは必要ですか?
不要です。doris.apache.org で配布されている標準の ARM64 バイナリがそのまま Graviton で動作します。Arm 向けの最適化はメインラインのコードに含まれています。

Q. Graviton4 と比べるとどうですか?
2025 年の検証では、Graviton4 上の Doris は c6i(x86)インスタンスより平均約 50% 高速でした。ただしこの検証は x86 側のベースラインが古いため、今回の結果と直接比較はできません。AWS は Graviton5 について Graviton4 比でデータベース性能最大 30% 向上と報告しています。

まとめ

今回テストしたすべてのスイートで Graviton5 が上回り、特にダッシュボードやイベントデータのようなスキャン中心の分析で大きな効果が見られました。ARM64 ビルドは doris.apache.org/download からダウンロードできます。マネージドサービスとして使う場合は VeloDB Cloud も利用できます。

関連記事

参考リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?