[新機能] Amazon Redshift Apache IcebergテーブルのJust-In-Time (JIT) ANALYZE機能を一般提供開始しました

[新機能] Amazon Redshift Apache IcebergテーブルのJust-In-Time (JIT) ANALYZE機能を一般提供開始しました

2025.11.20

クラウド事業本部の石川です。Amazon Redshiftは、Apache IcebergテーブルにおけるJust-In-Time (JIT) ANALYZE機能の一般提供を開始しました。データレイク内のApache Icebergテーブルに対する読み取り・書き込み両方の分析クエリを高パフォーマンスで実行できるようになりました。私の個人的考察を含め解説します。

https://aws.amazon.com/jp/about-aws/whats-new/2025/11/amazon-redshift-jit-analyze-apache-iceberg-tables/

JIT ANALYZEとは

Amazon Redshift が管理しているストレージ(RMS)とは異なり、Apache Icebergでは基礎となるデータに関する包括的なテーブルレベルおよびカラムレベルの統計情報が欠如していることが多く、クエリエンジンが最適なクエリ実行計画を選択することが困難でした。テーブルやカラムの統計情報が見えない状態では、最適ではないクエリ実行計画が選ばれてしまい、パフォーマンスが遅く予測不可能になる可能性がありました。そこで登場したのが、JIT ANALYZEです。

JIT ANALYZEは、クエリ実行中にIcebergテーブルの統計情報を自動的に収集・活用する、Amazon Redshiftの新機能です。この機能により、手動での統計情報収集が不要になり、クエリエンジンが最適なクエリ実行計画を生成するために必要な情報を自動的に取得できます。

インテリジェントな統計収集

JIT ANALYZEは、インテリジェントなヒューリスティック(経験則)を使用して、統計情報から恩恵を受けるクエリを識別します。すべてのクエリで統計を収集するのではなく、パフォーマンス向上が見込まれるクエリに対してのみ最小限の統計情報セットを効率的に収集します。

軽量なデータ構造

システムは軽量なスケッチデータ構造を維持し、高品質なテーブルレベルおよびカラムレベルの統計情報を構築します。これにより、統計情報の計算、保存、維持にかかるコストを最小限に抑えながら、クエリプランナーに必要な情報を提供できます。

自動的な最適化

JIT ANALYZEは、事前計算された統計情報を持つクエリと同等の、すぐに使えるパフォーマンスを提供します。これにより、多くの他のパフォーマンス最適化の基盤となります。

「軽量なスケッチデータ構造」に関する個人的考察

Apache Icebergは、クエリ実行の効率を最大化するために、データファイルだけでなく、テーブルのメタデータレイヤーに詳細な統計情報を保持する仕組みを備えています。Puffinファイルは、この統計情報管理をさらに高度なレベルでサポートするために設計された、Iceberg専用の補助ファイル形式です。

2024年7月に、2024年の7月にAWS Glue Data CatalogでIcebergテーブルのカラムレベルの統計情報を生成する機能がサポートされました。

https://dev.classmethod.jp/articles/glue-data-catalog-automates-generating-statistics/

この機能では、Theta Sketchアルゴリズムを使用してNDV(個別値の数)などを推定し、統計情報はApache Icebergのメタ情報であるPuffin fileに保存されます。これにより、RedshiftはAWS Glueで生成された統計情報を読み取ることはできますが、自ら統計情報を生成することはできませんでした。

https://dev.classmethod.jp/articles/20251118-amazon-redshift-apache-iceberg-append-only/

Apache Iceberg テーブルへの書き込み(append-only)をサポートと関連して、今回のアップデートで、Puffin ファイルを作成し、Apache Icebergのメタ情報を更新できるようになったのではと推測します。

JIT ANALYZE delivers out-of-the-box performance on par with queries that have pre-calculated statistics, while providing the foundation for many other performance optimizations.

という文面から、Apache Icebergのメタ情報を更新することで、他のクエリエンジンにおいてもパフォーマンス改善が期待できるのではないかと考えられます。

自動的に利用可能!

JIT ANALYZE機能は、Amazon Redshiftが利用可能なすべてのAWSリージョンで現在利用可能です。この新しいデータレイククエリ最適化を利用するために、ユーザーは設定変更や機能の有効化を行う必要はありません。既存のApache Icebergテーブルに対するクエリが、自動的にこの機能の恩恵を受けられます。

最後に

JIT ANALYZE機能は、Apache IcebergとAmazon Redshiftを統合する上での重要な課題の1つを解決します。手動での統計情報管理の負担をなくし、Apache Icebergテーブルに対するクエリパフォーマンスを自動的に最適化することで、Amazon Redshiftはペタバイト規模のデータウェアハウスからエクサバイト規模のデータレイクへのシームレスな拡張を、コスト効率の高い方法で実現します。

この記事をシェアする

FacebookHatena blogX

関連記事