【速報】機械学習によるパフォーマンスチューニング、Amazon Redshift Performance Tuning – Automatedが発表されました! #reinvent

2020.12.10

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

日本時間2020年12月10日深夜のAWS re:Invent 2020のAnalyticsのリーダーシップセッションにて、Redshiftの新機能『Amazon Redshift Performance Tuning - Automated』が発表されました。

Performance Tuning - Automatedとは

既に、Auto Vacuum、Auto Sort、Auto Analyze、AutoWLM、Amazon Redshift Advisorなど、自動メンテナンスやチューニングのリコメンデーションを提供する機能がありました。(Workload ManagementもV2になってるのが気になる...)Automatic Table Optimizationは、更に自動でチューニングする機能に進化したものです。

Automatic Table Optimization

従来 Advisor によるリコメンデーションは提供していましたが、それを更に進化した機械学習ベースのテーブル自動最適化の仕組みが導入されました。

Automatic Table Optimizationは、テーブルに対して実行するクエリを継続的に監視、機械学習を用いて自動的にソートキーや分散キーを選定、データを最適に再配置してクラスタのワークロードのパフォーマンスを最適化します。Redshiftが自動選定したソートキーや分散キーを適用すると、Redshiftの管理者の介入を必要とせずに、テーブルが数時間以内に自動的に変更されます。

3TBおよび30TBのTPC-DSベンチマークを例にAutomatic Table Optimizationを使用しないクラスタと比較するとそれぞれ24%および34%向上させることが示されています。

Automatic Table Optimizationのフロー

ユーザーがクエリを実行すると、Automatic Table Optimizationによってクエリ統計が収集されます。統計情報に基づき、機械学習サービスを用いて分析、ソートキーや分散キーに関する推奨事項を保存します。これらの推奨事項(svv_alter_table_recomendations)は、後でオンラインALTERステートメントを使用してそれぞれのAmazonRedshiftテーブルに自動的に適用されます。

※ 機械学習サービスを用いて分析ありますが、現時点では機械学習の利用費が発生するかは不明です。

最後に

Performance Tuning - Automatedの中で紹介された機能は、Automatic Table Optimizationの他に既に提供済みの自動化の改善が含まれたものをリブランディングしている印象を受けます。それはRedshiftが自動メンテナンス、自動最適化、自動チューニングなど、継続的に提供されており、今後も引き続き改善されることを意味しているからではないかと考えられます。Automatic Table Optimizationはクラスタバージョン1.0.21291以降の全てのリージョンで利用可能ですので、後ほど検証してみたいと思います。

合わせて読みたい