MySQLで使用可能なNL2SQL (2025/10/14)

MySQLで使用可能なNL2SQL (2025/10/14)

https://blogs.oracle.com/mysql/post/natural-language-to-sql-available-with-mysql

投稿者:Nipun Agarwal | Senior Vice President, MySQL Engineering

MySQL(AIオプション付き)およびMySQL HeatWaveクラウドサービス向けのNatural Language to SQL(NL2SQL)機能のリリースを発表いたします。自然言語インターフェースは現代のデータプラットフォームに不可欠であり、ユーザーがより迅速に情報を探索することを可能にします。NL2SQL機能は、自然言語ステートメントをSQLクエリに変換することで、データ分析を簡素化し、洞察を加速させ、データからより多くの価値を引き出します。

MySQL HeatWave のこの新しい機能は、構造化データへの自然言語アクセスを可能にし、自然言語でドキュメントをクエリするための MySQL および MySQL HeatWave の既存のサポートを補完します。そのため、自然言語を使用して構造化データと非構造化データの両方にアクセスできるようになります。

NL2SQL は、 MySQL HeatWave がデプロイされている OCI およびその他のクラウドのすべてのレルムで一般提供されており、MySQL AI リリースを通じてオンプレミスでも利用できます。

MySQL AI 機能の詳細については、 最新のアップデートをご覧ください。

NL2SQLはオンプレミスとクラウドで利用可能

自然言語インターフェースは、幅広いユーザーが企業データを活用するための鍵となります。お客様は、この機能を必要に応じて導入できます。

  • MySQL AI を使用したオンプレミスで、小規模な自己管理型コンピューティング上で同じ機能をローカルに実行します。
  • MySQL HeatWave を使用したクラウドでは、コストの削減、パフォーマンスの向上、スケーラビリティの向上、より高品質の翻訳を実現する大規模な LLM へのアクセスが実現します。

MySQL HeatWave NL2SQLアーキテクチャ

MySQLデータベースとの自然言語によるインタラクションを可能にすることで、ビジネスユーザー、データサイエンティスト、ドメインエキスパート、開発者などが分析タスクにアクセスできるようになります。エンタープライズデータとの自然言語によるインタラクションは、標準のMySQLクライアント、MySQL Shell VSコード拡張機能、Jupyter Notebook、MySQL Studio(MySQLの新しいビジュアルインターフェース)、単一のストアドプロシージャを介したSQL API、HeatWave RESTサービスなど、使い慣れたツールとインターフェース全体でサポートされています。これにより、お客様は非構造化テキスト(HeatWaveベクターストアを使用したRAG経由)と構造化データ(NL2SQL経由)の両方をクエリおよび分析できます。ユーザーエクスペリエンスはMySQL HeatWave(クラウド)とMySQL AI(オンプレミス)で一貫しており、アプリケーションをローカルで実行することも、MySQL HeatWaveサービスを利用することでコスト削減、パフォーマンス向上、大規模モデルへのアクセスを実現することもできます。

MySQL での自然言語から SQL へのエンドツーエンド

LLMは自然言語の質問をSQLに変換します。その結果をエンタープライズ規模で正確かつ信頼できるものにするために、MySQLは生成されたSQLを拡張、検証し、自動的に実行する一連のデータベース内ステップを追加します。 

概要

自然言語クエリごとに、MySQL は次の処理を実行します。

  1. 関連するメタデータを収集する: 質問に関連する可能性のあるスキーマ要素 (テーブル、列、キー、リレーションシップ) を識別して要約します。
  2. コンテキストの選択とスコープ設定: プロンプトの肥大化と曖昧さを回避するために、最も関連性の高いスキーマの詳細のみを取得します。
  3. LLM プロンプトを拡張する: ユーザーの質問をスコープ指定されたスキーマ コンテキスト (「拡張プロンプト」) と一緒にパッケージ化して、SQL 生成をガイドします。
  4. SQL を解析して検証する: 構文をチェックし、実際のスキーマに対して検証して、不足しているテーブル/列や互換性のない型を早期に検出します。
  5. 自己反省と自動修正: 自動レビュー ステップを実行して一般的な問題 (エイリアスの不一致など) を検出し、可能な場合は SQL を修正します。
  6. 権限の適用: データベース権限を尊重し、生成された SQL が要求者に表示権限のあるデータのみにアクセスするようにします。
  7. 実行(オプション/自動):検証されたSQLをHeatWaveで実行するか、レビューのために返却します。
  8. 追跡可能な結果を​​返す: 最終的な SQL と実行結果を提供し、ユーザーが確認、再利用、または改良できるようにします。

これらの機能を組み合わせることで、複雑なスキーマでより正確な SQL が実現し、反復処理が高速化されて手動編集が減り、完全に統合された使いやすいソリューションが実現します。

複数のインターフェースからNL2SQLにアクセスする

NL2SQL は複数のインターフェースからアクセスできるため、ユーザーは好みのツールで作業できます。

  • プログラム統合のためのSQL API
  • VS Code拡張機能を備えたMySQLシェル
  • MySQLスタジオ
  • MySQL HeatWave REST サービス

以下の例は、VSCodeワークフロー用のMySQL Shellプラグインで「\nl」のサポートが導入されたことを示しています。プレーンな言語で書かれたリクエストを入力すると、拡張機能がSQLを生成・実行し、SQLと結果セットの両方を表示します。これにより、サポートされている他のインターフェースと併用しながら、自然言語を使用して構造化データを高速かつ一貫して操作できるようになります。

 

MySQL ヒートウェーブ
MySQL ヒートウェーブ
MySQL AI
MySQL AI

SQLインターフェースは最下位レベルのAPIであり、あらゆる標準SQLツールからNL2SQLを正確かつ透過的に呼び出し、スクリプト、自動化、アプリケーションでパターンを再利用できるようにします。NL2SQLは単一のストアドプロシージャを介して呼び出すことができるため、クライアントは自然言語プロンプトを送信し、生成されたSQLを受け取り、オプションに基づいて実行して結果を返すことができます。


クリップボードにコピーされました
エラー: コピーできませんでした
クリップボードにコピーされました
エラー: コピーできませんでした
CALL sys.NL_SQL(input, @output, options)

ここで、input は自然言語の質問、@output は結果を格納するユーザー定義のセッション変数、options はクエリ生成をカスタマイズするためのJSONオブジェクトです。options を使用すると、クエリ実行の制御、スキーマまたはテーブルメタデータの制限、使用する大規模言語モデルの指定、冗長性の調整、構文的に無効なSQLの再試行の有効化、テーブルおよび列のコメントの追加などが可能です。処理後、@output には生成されたSQL、検証結果、メタデータのコンテキストなどの重要な詳細情報が含まれます。

よく知られている AirportDBを用いて 、自然言語でデータを検索する方法を説明します。基本的な呼び出しは次のように実行できます。


クリップボードにコピーされました
エラー: コピーできませんでした
クリップボードにコピーされました
エラー: コピーできませんでした
CALL sys.NL_SQL("What is the total number of bookings priced over $200?", @output, NULL);
+---------------------------------------------------------------------------+
| Executing generated SQL statement...                                      |
+---------------------------------------------------------------------------+
| SELECT COUNT(`booking_id`) FROM `airportdb`.`booking` WHERE `price` > 200 |
+---------------------------------------------------------------------------+ 

+---------------------+
| COUNT(`booking_id`) |
+---------------------+
| 32699080            |
+---------------------+

これにより、関連するすべてのデータベース オブジェクトが自動的に識別され、生成された SQL ステートメントが実行されます。

まとめ

このブログでは、オンプレミスとクラウドの両方でMySQLのNatural Language to SQL(NL2SQL)サポートが利用可能になったことを発表しました。LLMによって生成されたNL2SQLは、MySQLのさまざまな技術によって拡張され、生成されるSQLの品質が向上しています。お客様は、構造化データと非構造化テキスト(RAG経由)の両方を自然言語で操作できます。NL2SQLは、プログラム用の単一のストアドプロシージャ、MySQL Shell、Jupyter Notebook、新しいMySQL Studioコンソール、MySQL HeatWave RESTサービスなど、複数のインターフェースからアクセスできます。オンプレミスでは、ユーザーは同じ機能をローカルコンピューティングで実行することも、コストを削減し、パフォーマンスを向上させ、より大規模なモデルを活用するためにクラウドに移行することもできます。この機能により、MySQL開発者の生産性が向上し、MySQLによるエンタープライズデータ分析がより充実したものになると考えています。

コメント

このブログの人気の投稿

Oracle Database 19cサポート・タイムラインの重要な更新 (2024/11/20)

ミリ秒の問題: BCCグループとOCIが市場データ・パフォーマンスを再定義する方法(AWSに対するベンチマークを使用) (2025/11/13)

OCIサービスを利用したWebサイトの作成 その4~Identity Cloud Serviceでサイトの一部を保護 (2021/12/30)