Skip to main content
QUICK REVIEW

[論文レビュー] The SQL++ Semi-structured Data Model and Query Language: A Capabilities Survey of SQL-on-Hadoop, NoSQL and NewSQL Databases.

Kian Win Ong, Yannis Papakonstantinou|arXiv (Cornell University)|May 14, 2014
Advanced Database Systems and Queries被引用数 53
ひとこと要約

この論文では、JSON や NoSQL スタイルのクエリをサポートするために最小限の構文変更で SQL を拡張する、一貫性があり SQL と互換性のある半構造化データ向けの統合クエリ言語である SQL++ を紹介する。構成可能なオプションを用いて意味論を形式化することで、MongoDB や Cassandra、Couchbase、AsterixDB といった既存システムからのクエリを形式的に同等にモデル化・実行可能となる。

ABSTRACT

NoSQL databases support semi-structured data, typically modeled as JSON. They also provide limited (but expanding) query languages. Their idiomatic, non-SQL language constructs, the many variations, and the lack of formal semantics inhibit deep understanding of the query languages, and also impede progress towards clean, powerful, declarative query languages. This paper specifies the syntax and semantics of SQL++, which is applicable to both JSON native stores and SQL databases. The SQL++ semi-structured data model is a superset of both JSON and the SQL data model. SQL++ offers powerful computational capabilities for processing semi-structured data akin to prior non-relational query languages, notably OQL and XQuery. Yet, SQL++ is SQL backwards compatible and is generalized towards JSON by introducing only a small number of query language extensions to SQL. Recognizing that a query language standard is probably premature for the fast evolving area of NoSQL databases, SQL++ includes configuration options that formally itemize the semantics variations that language designers may choose from. The options often pertain to the treatment of semi-structuredness (missing attributes, heterogeneous types, etc), where more than one sensible approaches are possible. SQL++ is unifying: By appropriate choices of configuration options, the SQL++ semantics can morph into the semantics of existing semi-structured database query languages. The extensive experimental validation shows how SQL and four semi-structured database query languages (MongoDB, Cassandra CQL, Couchbase N1QL and AsterixDB AQL) are formally described by appropriate settings of the configuration options. Early adoption signs of SQL++ are positive: Version 4 of Couchbase's N1QL is explained as syntactic sugar over SQL++. AsterixDB will soon support the full SQL++ and Apache Drill is in the process of aligning with SQL++.

研究の動機と目的

  • NoSQL クエリ言語における標準化の欠如と形式的意味論の欠如が、相互運用性や言語理解の深さを阻害しているのを是正すること。
  • 半構造化データをネイティブにサポートしつつ、完全に SQL と後方互換性を持つクエリ言語を設計すること。
  • 既存の半構造化クエリ言語(例:N1QL、AQL)を、構成オプションを介して共通の意味論的基盤にマッピングする形式的フレームワークを提供すること。
  • 多様な NoSQL システムにおけるクエリ記述の慣習的表現を、1 つの宣言的かつ形式的に定義された言語に統合すること。
  • Couchbase や AsterixDB、Apache Drill といった既存システムとの互換性を示すことで、実用的採用を可能にすること。

提案手法

  • SQL および JSON データモデルのスーパーセットとして SQL++ を定義し、構造化データと半構造化データの両方をシームレスに処理可能にする。
  • ネストされたデータ、動的型付け、属性へのパスベースのアクセスをサポートするための、SQL への少数の言語拡張を導入する。
  • 欠落した属性の処理や異種型の取り扱いといった設計選択を捉える構成オプションを用いて、言語の意味論を形式化する。
  • 構成設定を用いて SQL++ の意味論を、MongoDB や Cassandra CQL、Couchbase N1QL、AsterixDB AQL といった既存のクエリ言語の意味論に変換可能にし、形式的に同等であることを実現する。
  • 既存のクエリ言語を SQL++ の構成に広範にマッピングする実験的検証を通じて、アプローチの有効性を検証する。
  • Couchbase N1QL v4 が SQL++ の構文的糖衣であることを示し、Apache Drill が SQL++ に準拠しつつあることを示すことで、実世界での採用を実証する。

実験結果

リサーチクエスチョン

  • RQ1既存の NoSQL および NewSQL クエリ言語の多様な表現様式と意味論を、半構造化データ向けの単一のクエリ言語がどのように統合できるか。
  • RQ2JSON に類似した半構造化データに対する強力で宣言的なクエリを実現するために、SQL に必要な最小限の拡張は何か。
  • RQ3形式的な構成システムが、既存の半構造化クエリ言語間の本質的な意味論的差異を捉えることができるか。
  • RQ4SQL++ が、MongoDB、Cassandra、Couchbase、AsterixDB といった既存システムとどれほど形式的にモデル化・相互運用可能か。
  • RQ5実世界のデータベースシステムにおける SQL++ の実用的妥当性と採用可能性を裏付ける証拠は何か。

主な発見

  • SQL++ は、構文の最小限の変更で半構造化データをサポートしつつも、完全に SQL と互換性を保つことに成功した。
  • 構成ベースのアプローチにより、SQL++ は MongoDB、Cassandra CQL、Couchbase N1QL、AsterixDB AQL の4つの主要な半構造化クエリ言語の意味論を形式的にモデル化可能である。
  • Couchbase N1QL バージョン 4 は、構文的糖衣の下で SQL++ と形式的に同等であることが確認され、実用的整合性が裏付けられた。
  • Apache Drill が SQL++ に準拠しつつあることは、業界における関心の高まりと採用可能性の高まりを示している。
  • 形式的な構成システムは、欠落した属性の処理や異種型の取り扱いといった重要な意味論的差異を捉えており、正確な言語マッピングを可能にしている。
  • SQL++ は、OQL や XQuery の計算能力と、SQL の宣言的でシンプルな性質の両方を統合する基盤を提供する。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。