コンテンツに移動
データベース

Cloud SQL for MySQL の最新情報: ベクター検索、Gemini サポートなど

2024年6月28日
Julia Offerman

Software Engineer

Gemini 1.5 モデル をお試しください。

Vertex AI からアクセスできる、Google のもっとも先進的なマルチモーダル モデルです。

試す

※この投稿は米国時間 2024 年 6 月 15 日に、Google Cloud blog に投稿されたものの抄訳です。

Cloud SQL for MySQL は、企業が幅広いアプリケーションに必要とする堅牢なパフォーマンス、スケーラビリティ、信頼性を提供します。複雑なゲームデータの管理からスマートホーム デバイスの運用まで、Chess.com などの企業や Google Nest はすでに Cloud SQL for MySQL を活用してイノベーションを推進し、ユーザー エクスペリエンスを改善して、データドリブン ソリューションの強固な基盤を提供しています。AI 機能の需要が高まるなか、組織は、すでにアプリケーションをサポートしているデータベースを使用しながら、ビジネスのニーズに合わせて AI を活用することを目指しています。

企業のビジネス変革を支援するために、Google は最近、Cloud SQL for MySQL の新機能をいくつか発表し、プレビュー版で利用できるようにしました。これらの新機能は、企業が AI を活用してデータベースとアプリケーションを強化するために役立ちます。Google がこのたび提供を開始したベクター エンベディング検索の統合サポートを活用すれば、革新的な生成 AI アプリケーションとAI 支援ツールを構築し、データベース管理を簡素化して、Gemini でパフォーマンスを次のレベルに引き上げるために役立てることができます。これらの新機能について詳しく見ていきましょう。

1. ベクター検索を使用して生成 AI アプリケーションを構築し、MySQL と統合する

Cloud SQL for MySQL ではベクター エンベディングのストレージと類似性検索が提供されるようになり、既存のアプリケーションで生成 AI を使用できるようになりました。エンベディング間の K 最近傍(KNN)と近似最近傍(ANN)検索がすべて MySQL エンジン内で提供されるようになりました。

ベクター エンベディングを生成するための LangChain インテグレーション

データをベクターとしてエンベディングすると、AI システムがより有意義にデータを処理できるようになります。情報をベクターとしてエンベディングすると、複雑性を保ちながら効率的に保存できます。これにより、AI アプリケーションはそれぞれ一意のデータを体系的に比較して類似点を発見できます。

LangChain は、大規模言語モデル(LLM)を使用してアプリケーションを構築するためによく使われるオープンソース フレームワークです。Cloud SQL チームは、データを処理してベクター エンベディングを生成し、それを MySQL インスタンスに接続するために役立つ Vector LangChain パッケージを構築しました。このインテグレーションにより、ベクターストア、ドキュメント ローダ、チャット メッセージ履歴が提供されます。

LangChain を使用して MySQL でベクター エンベディングを使用するためのガイドと、チャット履歴や大きいドキュメントなどのデータのエンベディングを生成し、そのエンベディングを MySQL に保存して検索する方法についてのエンドツーエンドの例をご覧ください。

ベクター検索による生成 AI アプリケーションの強化

https://storage.googleapis.com/gweb-cloudblog-publish/original_images/1_vectordemo-1.gif

MySQL にベクター エンベディングを保存し、ベクター距離をクエリします。Cloud SQL Studio によるデモ。

エンベディングされたデータを Cloud SQL for MySQL に保存した後、2 つのエンベディング間のベクター距離をコンピューティングすると、2 つのエンベディングがどの程度類似しているかを判断できます。次元とデータ量が増加すると、ベクター間の距離の計算はコンピューティングのコストが高くなり、最終的には現実的でなくなります。絶対距離を計算できない場合は、ANN 検索を使用してスケーラブルかつ正確な方法で類似ベクターを検索します。

https://storage.googleapis.com/gweb-cloudblog-publish/original_images/2_vector_nearest-2.gif

ベクター インデックスを作成し、NEAREST 関数を使用して ANN 検索を実行します。Cloud SQL Studio によるデモ。

さらに、Cloud SQL では Google ScaNN ライブラリを活用した、MySQL でのベクター エンベディングのストレージと組み込み ANN 検索がサポートされるようになりました。これにより、個別のベクターストア データベースが不要になり、Cloud SQL for MySQL でデータを管理するときに生成 AI アプリケーションを構築しやすくなります。

2. MySQL データベースの最適化、管理、デバッグにおける Gemini

データベース ライフサイクルの全側面にわたって Gemini を利用できるようになりました。Gemini in Databases は、移行から適切なセキュリティとコンプライアンスのガードレールの設定、パフォーマンスの問題のトラブルシューティングに至るまで、データベースのライフサイクル全体にわたってデータベースのフリートを管理するために役立ちます。Cloud SQL for MySQL に備えられた MySQL 独自の一連の機能は、データベース固有のパフォーマンスをモニタリングして分析し、アプリケーションに影響が及ぶ前に問題を予測するために役立ちます。

インデックス アドバイザーによるクエリの効率改善

AI 推奨インデックスを使用して、MySQL のワークロードを最適化することもできます。インデックス アドバイザーは、データベースの効率低下を引き起こしているクエリを識別し、Query Insights ダッシュボード内でそのクエリを改善するための新しいインデックスを推奨します。インデックス アドバイザーは、最適ではないクエリを継続的に評価して識別することで、ビジネスに悪影響を与えるにパフォーマンスの問題を認識できるようにします。

インデックス アドバイザーは、ワークロードを分析した後、インデックスを追加する列を推奨し、インデックスのストレージ サイズとパフォーマンスへの影響を推定することで、低速なクエリを高速化する方法を示します。推奨されたインデックスを作成するために必要な正確なクエリが提供されるため、最適化プロセスがさらに簡単になります。インデックス アドバイザーはフラグを有効にすれば使用を開始してクエリの分析情報を参照できるようになります。

https://storage.googleapis.com/gweb-cloudblog-publish/original_images/3_indexadvisor-3.gif

非効率的なクエリのインデックス推奨事項と、それらを作成するために必要なクエリを表示します。

Active Queries によるパフォーマンスの問題のデバッグと防止

Query Insights ダッシュボードで、インスタンス上のアクティブ クエリをリアルタイムで分析できるようになりました。すべての接続の状態の概要と、データベースで現在実行されている上位のクエリの包括的なレポートが提供されます。このレポートには、ロックされた行数やトランザクション期間など、コストのかかるトランザクションを識別するために役立つ指標が含まれています。Active Queries の分析により、実行中のクエリとそのコストが明確になり、デバッグの時間と労力を節約できます。

アクティブ クエリの分析に加えて、必要に応じてクエリまたは接続を終了できます。一元的なダッシュボードにより、コストのかかるトランザクションを特定して終了するプロセスが 1 つの簡単なステップに効率化されます。Active Queries とともに導入されたクエリ管理ツールを使用すると、パフォーマンスの問題の発生源を簡単に特定し、インスタンス上のトラフィックを俯瞰して潜在的な問題を予測できます。

まず、こちらの手順に沿って、現在アクティブなクエリを表示します。

https://storage.googleapis.com/gweb-cloudblog-publish/original_images/4_activequeries-4.gif

Active Queries でトラフィックを分析し、接続を終了します。

MySQL Recommender によるデータベースの健全性のモニタリングと改善

管理すべきフラグや構成が多岐にわたるため、MySQL インスタンスに対する最適な設定を維持することは困難になる場合があります。データベース トラフィックが変動し、データベースのニーズが絶えず変化する状況では、このことがさらに困難になります。MySQL Recommender は、パフォーマンスの向上、セキュリティの強化、データの保護のために構成に加える変更を推奨します。また、該当する場合は、インスタンスを正常な状態に保つための推奨事項の説明と代替案も提供します。

MySQL Recommender は、Gemini を活用する MySQL エキスパートとして機能し、多くのデータベースの健全性指標と設定をモニタリングします。たとえば、インデックスなしで多数の結合を実行している場合、開いているテーブルの数が多い場合、開いている接続の最大数に達する危険がある場合などを検出します。MySQL Recommender は、インスタンスの健全性をモニタリングおよび維持することで、ユーザーがデータベースの問題を診断または回避できるよう支援します。

Gemini in Databases を有効にした後、Recommender が自動的に有効になり、MySQL 構成のチューニングを開始できます。

https://storage.googleapis.com/gweb-cloudblog-publish/original_images/5_recommender-5.gif

Recommender は、データベース構成の問題を特定して解決するためのワンストップ ソリューションを提供しま

ご利用方法

Manhattan Associates Songkick などの企業が、Cloud SQL for MySQL のメリットを活用してビジネスを変革している方法の詳細をご覧ください。

ベクター検索 Gemini in Databases で、AI による Cloud SQL for MySQL アプリケーションの強化を始めましょう。

インデックス アドバイザー、Actie QueriesRecommender、そして Studio のデータベース センターやコード生成などの追加機能を使用してデータベースの最適化を開始するには、Gemini in Databases スタートガイドをご覧ください。  

Cloud SQL for MySQL で生成 AI アプリケーションを構築する場合は、ベクター検索に関するドキュメントに沿って作業してください。

-ソフトウェア エンジニア Julia Offerman

投稿先