データベース分野のトップ国際論文誌Proceedings of the VLDB Endowmentに論文掲載 ~SQL自動生成技術の性能を飛躍的に向上~

お知らせ

2021年9月22日

株式会社NTTデータ

株式会社NTTデータ(以下:NTTデータ)が奈良先端科学技術大学院大学と共同開発した、SQLクエリ(データベースを操作するための命令文)を自動生成する技術に関する論文が、国際論文誌Proceedings of the VLDB Endowment(以下:PVLDB)のVolume 14に掲載されました。PVLDBはデータベース分野のトップ論文誌であり、コンピューターサイエンスの出版物を評価するCOREランキングでは最高難易度のA*に分類されています。PVLDBのVolume 14には882件の論文が投稿され212件の論文が採択されました。そのうち日本から採択されたのは3件でした。

PVLDBに採択された論文は国際会議International Conference on Very Large Data Bases(以下:VLDB)の研究トラックにて発表する機会が与えられる仕組みになっており、2021年8月16~20日に開催されたVLDB2021で本成果について研究発表を行いました。

研究の成果について

本論文は、近年盛んに研究されているProgramming by Example(例によるプログラミング)と呼ばれる技術の一種であり、満たすべき入出力テーブルの例からSQLクエリを自動生成する技術を提案するものです。
従来手法では、入出力例としてサポートするテーブルの規模が大きくなるにつれて自動生成の実行性能が著しく劣化する課題が知られていました。この課題に対し本手法では、関係代数において知られている性質をアルゴリズムに組み込むことで、入出力テーブルの規模が大きくなっても適切なプログラムの構造を効率的に特定できるのが特徴です。
評価実験では、インターネット上に投稿されたSQLに関する質問や、データ分析コミュニティーであるKaggleの公式チュートリアルから抽出した226件のSQLクエリに対して自動生成を行いました。その結果、本手法によって全体の68%のクエリを自動生成することに成功し、そのうち89%は1秒以内に生成できることを確認しました。従来は自動生成に成功したものが57%、さらに1秒以内に生成できたものは22%であり、今回飛躍的に性能が向上したことが評価されました。

今後の展開

本技術を用いることで、データベース技術に習熟していないユーザーであっても、目的に合ったSQLクエリを短時間で生成できるようになります。これにより手軽にデータ分析を行うことができるようになるため、企業内の誰もがデータを活用できる“データ民主化”の実現につながる技術といえます。
また本技術は、満たすべき結果からプログラムを自動生成するという、従来の開発手法と逆のプロセスを実現するため、新たなソフトウエア開発のスタイルの提案につながる重要な基礎技術です。たとえば、ソフトウエア開発において試験用データから実行可能なプログラムを自動生成するなど、従来のソフトウエア開発プロセスに変革をもたらすような応用を目指します。

各機関の主な役割分担

NTTデータ アルゴリズムの開発、実装、手法の評価
奈良先端科学技術大学院大学 アルゴリズムの開発

論文情報

タイトル PATSQL:Efficient Synthesis of SQL Queries from Example Tables with Quick Inference of Projected Columns
著者 竹之内啓太(NTTデータ)、石尾隆(奈良先端科学技術大学院大学)、岡田譲二(NTTデータ)、坂田祐司(NTTデータ)

論文書誌情報

名称 Proceedings of the VLDB Endowment, Volume 14, No. 11
発行元 Very Large Data Base Endowment Inc.
発行日 2021年7月
URL https://vldb.org/pvldb/vol14/p1937-takenouchi.pdf

参考

以下のURLにて今回の研究成果をより分かりやすく説明しています。
「非開発職にもSQLを!」を技術で叶えてみた
https://www.nttdata.com/jp/ja/data-insight/2021/032402/
プログラムを自動生成する技術 ~ Programming by Example ~(NTTデータテクノロジーカンファレンス講演より)
https://www.youtube.com/watch?v=3Ccq2bY6BkE

本件に関するお問い合わせ先

株式会社NTTデータ
技術革新統括本部システム技術本部
デジタル技術部
坂田
E-mail:Yuji.Sakata@nttdata.com

- NTTデータは、「これから」を描き、その実現に向け進み続けます -