投稿日: Nov 17, 2023

本日より Amazon Athena は、AWS Glue データカタログによって収集されたテーブルと列の統計に基づいてクエリのパフォーマンスを向上させるため、コストベースのオプティマイザー (CBO) を使用します。Athena は CBO を使用してクエリプランの最適化を分析し、選択します。例えば、結合の順序を変更したり、集約をプランのより早い段階に移動させたりします。これにより、SQL コードを変更することなくパフォーマンスを向上させます。

CBO は、時間の経過と共にデータが増加または変化する場合に役立ちます。例えば、現在何百もの店舗を持つ小売業は、店舗が 1 か所だった時代よりも多くのデータを生成すると考えられます。このような増加により、クエリに必要な SQL ロジックが以前より複雑化し、処理時間が増える可能性があります。CBO を通して、Athena は、データ構造の変化への対応やパフォーマンス向上が可能なデータ駆動型のクエリプランの最適化を適用します。まず、Athena または Glue コンソール、あるいは AWS SDK を使用して、選択した Glue テーブルのテーブル統計を生成することから始めます。テーブル統計の生成方法については、列統計の生成を参照してください。

CBO は、米国東部 (バージニア北部)、米国東部 (オハイオ)、米国西部 (オレゴン)、欧州 (アイルランド)、アジアパシフィック (東京)、アジアパシフィック (大阪) の各リージョンで利用できます。料金情報については、AWS Glue の料金ページでご確認ください。詳細については、『Athena ユーザーガイド』の「Using cost-based optimizer」(コストベースのオプティマイザーの使用) を参照するか、ブログ投稿をお読みください。