Amazon Web Services ブログ

Amazon Redshift は、効率性と生産性を向上させるために、Amazon Q を含む新しい AI 機能を追加します

Amazon Redshift は、人工知能 (AI) をお客様のサービスに組み込んで効率を最適化し、生産性を高めます。この新機能は、11月29日、プレビューで公開する 2 つの新機能です。

まず、Amazon Redshift Serverless がよりスマートになりました。クエリの複雑さ、頻度、データセットのサイズなどの次元に応じて、キャパシティをプロアクティブかつ自動的にスケーリングし、カスタマイズされたパフォーマンスを最適化します。これにより、データウェアハウスインスタンスのチューニングに費やす時間を減らし、データから価値を引き出す時間を増やすことができます。

次に、Amazon Redshift クエリエディタの Amazon Q ジェネレーティブ SQL は、自然言語プロンプトから SQL レコメンデーションを生成します。これにより、データから洞察を引き出す際の生産性が向上します。

Amazon Redshift Serverless から始めましょう
Amazon Redshift Serverless を使用すると、AI 主導のスケーリングと最適化のプレビューを選択できるようになりました。有効にすると、システムは同時実行のクエリ数、その複雑さ、実行にかかる時間などの使用パターンを監視し、そこから学習します。次に、サーバーレスエンドポイントを自動的に最適化して、価格性能目標を達成します。AWS の内部テストによると、この新機能により、手動による介入なしに、変動するワークロードに対して最大 10 倍の価格パフォーマンスが向上する可能性があります。

AI を活用したスケーリングと最適化により、ワークグループのサイズを手動で変更したり、ワークロードのニーズに基づいてバックグラウンド最適化を計画したりする時間と労力がなくなります。パフォーマンス向上のために最も価値のあるタイミングで自動最適化を継続的に実行し、パフォーマンスの低下やタイムアウトを回避します。

この新機能は、Amazon Redshift Serverless の既存のセルフチューニング機能を超えるものです。たとえば、機械学習 (ML) で強化された技術により、コンピューティングの調整、データベースの物理スキーマの変更、必要に応じたマテリアライズドビュー (お客様ではなく自動的に管理されるビュー) の作成または削除、およびバキュームテーブルなどがあります。この新機能により、コンピューティングの調整方法、必要なバックグラウンド最適化、およびそれらをいつ適用するかを決定するためのインテリジェンスが向上し、より多くの次元に基づいて意思決定を行うことができます。また、クエリが必要とする場合は、マテリアライズドビューテーブル最適化ワークロード管理のための ML ベースの最適化を調整します。

プレビュー中に、これらの AI 主導のスケーリングと最適化をワークグループで有効にするには、オプトインする必要があります。価格とパフォーマンスの最適化のバランスを取るようにシステムを設定します。コンソールで調整できるスライダーは 1 つだけです。

Redshift サーバーレス - AI 主導のワークグループ

通常どおり、コンソール、Amazon CloudWatch メトリックス、およびシステムテーブル SYS_SERVERLESS_USAGE を使用して、リソースの使用状況とそれに関連する変更を追跡できます。

それでは、Amazon Redshift クエリエディタの Amazon Q ジェネレーティブ SQL を見てみましょう
生成系 AI を使用して、アナリストが効果的な SQL クエリをより迅速に作成できるようにできるとしたらどうでしょうか? これは、当社のウェブベースの SQL エディタである Amazon Redshift クエリエディタで本日紹介する新しい機能です。

これで、データから抽出したい情報を自然言語で記述できるようになり、SQL クエリの推奨が生成されます。舞台裏では、Amazon Q ジェネレーティブ SQL は大規模言語モデル (LLM) と Amazon Bedrock を使用して SQL クエリを生成しています。プロンプトエンジニアリング検索拡張生成 (RAG) などのさまざまな手法を使用して、お客様のコンテキスト (接続しているデータベース、作業しているスキーマ、クエリ履歴、オプションで同じエンドポイントに接続している他のユーザーのクエリ履歴) に基づいてモデルにクエリを実行します。システムは以前の質問も記憶しています。以前に生成されたクエリを絞り込むように依頼できます。

SQL 生成モデルでは、データスキーマ固有のメタデータを使用して関連するクエリを生成します。たとえば、テーブル名と列名、およびデータベース内のテーブル間の関係を使用します。さらに、データベース管理者は、AWS アカウントのすべてのユーザーのクエリ履歴を使用してより関連性の高い SQL ステートメントを生成する権限をモデルに与えることができます。クエリ履歴を他の AWS アカウントと共有したり、お客様の AWS アカウントから取得したデータを使用して生成モデルをトレーニングしたりすることはありません。当社は、お客様が期待する高いレベルのプライバシーとセキュリティを維持しています。

生成された SQL クエリを使用すると、新しいスキーマを見つけ始めるのに役立ちます。列名やテーブル間の関係を見つけるという面倒な作業は、自動で行います。上級アナリストは、必要なものを自然言語で尋ね、SQL ステートメントを自動的に生成できるという利点もあります。ユーザーはクエリを確認して、ノートブックから直接実行できます。

スキーマを調べて情報を抽出しよう
このデモでは、私がコンサートのチケットを販売している会社のデータアナリストだとしましょう。データベーススキーマとデータをダウンロードできます。上司から、チケットの売上データを分析して、シアトルで最も支出の多い顧客に割引クーポン付きの感謝状を送るように頼まれました。

Amazon Redshift クエリエディターに接続し、分析エンドポイントを接続します。ノートブック用に新しいタブを作成します (SQL 生成はノートブックからのみ可能です)。

SQL 文を書く代わりに、チャットパネルを開いて、「2022 年にチケットを最も多く購入したシアトルのユーザー上位 5 人を検索」と入力します。生成された SQL 文を時間をかけて検証します。正しいようですので、実行することにしました。[ノートブックに追加] を選択し、[実行] を選択します。このクエリは、シアトルの上位 5 人のバイヤーのリストを返します。

sql 生成 - 上位 5 人のユーザー

データスキーマの知識は全くありませんでしたし、必要な情報を見つけるために SQL を 1 行も入力しませんでした。

しかし、ジェネレーティブ SQL は単一のインタラクションに限定されません。チャットしてクエリを動的に絞り込むことができます。以下は別の例です。

会場が最も多い州はどれですか?」ジェネレーティブ SQL は次のクエリを提案します。答えはニューヨークで、そしてさらに知りたければ 49 の会場があります。

ジェネレーティブ sql チャット 01

気が変わったので、会場の多い上位 3 都市が知りたくなりました。質問を言い換えるだけです。「上位 3 つの会場についてはどうですか?

ジェネレーティブ sql チャット 02

クエリをノートブックに追加して実行します。期待どおりの結果を返します。

ジェネレーティブ sql チャット 03

プロンプト作成のベストプラクティス
プロンプトから最適な結果を得るためのヒントとコツをいくつか紹介します。

具体的に — 自然言語で質問するときは、必要なものをシステムが正確に理解できるように、できるだけ具体的にしてください。例えば、「チケットが最も売れた上位の会場を見つける 」と書くのではなく、「2022 年に最もチケットが売れた上位 3 つの会場の名前を見つける 」といったように、より詳細な情報を提供します。 同じエンティティをさまざまな方法で参照する代わりに、会場、チケット、場所などの一貫したエンティティ名を使用してください。システムが混乱する可能性があります。

繰り返し — 複雑なリクエストを、システムが解釈しやすい複数の単純なステートメントに分割します。フォローアップの質問を繰り返し行うことで、システムからより詳細な分析が得られます。たとえば、「会場が最も多い州はどこか」と尋ねることから始めます。 次に、その回答に基づいて、「この州で最も人気のある会場はどれですか?」などのフォローアップの質問をします。

検証 — 生成された SQL を実行する前に確認して、正確であることを確認します。生成された SQL クエリにエラーがあったり、意図と一致しない場合は、リクエスト全体を言い換えるのではなく、修正方法をシステムに指示してください。たとえば、クエリに年のフィルター句がない場合は、「2022 年の会場を指定してください」と記述します。

利用可能性と料金
AI を活用したスケーリングと最適化は、米国東部 (オハイオ、バージニア北部)、米国西部 (オレゴン)、アジアパシフィック (東京)、ヨーロッパ (アイルランド、ストックホルム) の 6 つの AWS リージョンでプレビュー中です。追加費用はかかりません。お支払いいただくのは、データウェアハウスがアクティブなときに消費したコンピューティング容量に対してのみです。時間毎の Redshift プロセッシングユニット (RPU) 単位が料金となります。秒毎の使用容量が課金対象となります。Amazon Redshift の料金表ページに詳細が記載されています。

Amazon Q ジェネレーティブ SQL for Amazon Redshift クエリエディタは、本日、米国東部 (バージニア北部) と米国西部 (オレゴン) の 2 つの AWS リージョンでプレビュー中です。プレビュー期間中は課金されません。

これらは、Amazon Redshift Serverless エンドポイントの価格対性能比を自動的に調整するか、自然言語プロンプトから正しい SQL ステートメントを生成することによって、AI がどのようにパフォーマンスの最適化と生産性の向上に役立つかを示す 2 つの例です。

これらの機能をすべてのユーザーに提供する前に、フィードバックを収集するためにプレビューが不可欠です。今すぐ試してみて、感想を re: Post フォーラムで、またはコンソールの左下にあるフィードバックボタンを使用してお聞かせください

— seb

原文はこちらです。