投稿日: Nov 8, 2022

本日リリースされた新しいキャッシング機能である Query Result Reuse を使用して、Amazon Athena で反復クエリの処理を高速化できるようになりました。反復クエリとは、短期間に送信される SQL クエリのことで、以前に実行された 1 つ以上のクエリと同じ結果を生成します。ビジネスインテリジェンスのようなユースケースで、ダッシュボードでの対話型分析によって複数の同一のクエリが実行される可能性がある場合、反復クエリではユーザーに結果を返す前にクエリごとにデータを読み取って処理する時間が必要となり、インサイトを得るまでの時間が長くなる可能性があります。

Query Result Reuse では、反復クエリが送信されたときに、以前に保存されたクエリ結果を返します。Athena では反復クエリが自動的に識別されるため、既存のクエリを変更したり、アプリケーションコードを変更したりする必要はありません。Query Result Reuse を使用すると、反復クエリの実行速度が最大で 5 倍になり、インタラクティブなデータ分析の生産性が向上します。データをスキャンしないため、低コストでパフォーマンスが向上します。

Query Result Reuse は簡単に、直感的に使用できます。Athena コンソールから、クエリエディターの *Reuse query results* トグルを使用して、Query Result Reuse をオンにします。デフォルトでは、以前のクエリの結果を新しいクエリで 60 分間再利用できますが、ユースケースとデータレイクの更新頻度に合わせて最適な有効期限を選択できます。Query Result Reuse は、Athena コンソール、API、AWS SDK のほか、Athena の JDBC または ODBC ドライバーを介して接続される互換性のあるアプリケーションを通じて利用できます。Query Result Reuse には Athena エンジンバージョン 3 が必要です。これはよりパフォーマンスが高く、バージョン 2 にはない追加機能を備えています

クエリを高速化する方法については、Working with Query Result Reuse を参照してください。