Skip to main content
QUICK REVIEW

[論文レビュー] Expressivity and Complexity of MongoDB (Extended Version)

Elena Botoeva, Diego Calvanese|arXiv (Cornell University)|Mar 30, 2016
Advanced Database Systems and Queries参考文献 4被引用数 4
ひとこと要約

この論文は、MongoDBのデータモデルとクエリ言語(MQuery)を形式的に分析し、それがネストドリレーショナル代数(NRA)と同等であることを確立するとともに、クエリ断片の計算量的複雑性を正確に特徴付けている。本論文は、完全なMQueryおよびMmupgが、多項式回の入れ替えを伴う交互の指数時間において完全であることを証明している。一方、最小限の断片はLogSpaceからNP-completeまで変動し、タイトな複雑性バウンズを提供し、NoSQLクエリシステムの最適化と改善の基盤を築く。

ABSTRACT

A significant number of novel database architectures and data models have been proposed during the last decade. While some of these new systems have gained in popularity, they lack a proper formalization, and a precise understanding of the expressivity and the computational properties of the associated query languages. In this paper, we aim at filling this gap, and we do so by considering MongoDB, a widely adopted document database managing complex (tree structured) values represented in a JSON-based data model, equipped with a powerful query mechanism. We provide a formalization of the MongoDB data model, and of a core fragment, called MQuery, of the MongoDB query language. We study the expressivity of MQuery, showing its equivalence with nested relational algebra. We further investigate the computational complexity of significant fragments of it, obtaining several (tight) bounds in combined complexity, which range from LOGSPACE to alternating exponential-time with a polynomial number of alternations. As a consequence, we obtain also a characterization of the combined complexity of nested relational algebra query evaluation.

研究の動機と目的

  • MongoDBのデータモデルと、そのクエリ言語のコア断片であるMQueryを形式的に定義し、その表現力と計算量的複雑性についての厳密な分析を可能にする。
  • MQueryがネストドリレーショナル代数(NRA)と表現的に同等であることを示し、一般的な誤解とは対照的に、MongoDBが単一のコレクション内での任意のジョインを表現可能であることを示す。
  • MQueryのさまざまな断片の結合複雑性とクエリ複雑性を調査し、 tractable および intractable なケースを特定し、タイトな複雑性バウンズを提供する。
  • 形式的分析を通じて、MongoDBのクエリ言語に存在する直感的でない、あるいは問題のある特徴を特定し、将来の言語設計と最適化のための知見を提供する。

提案手法

  • JSONベースのツリー構造ドキュメントを用いてMongoDBのデータモデルを形式化し、ネストドリレーショナル代数に一致する演算子を備えたコアクエリ言語断片MQueryを定義する。
  • MQueryとネストドリレーショナル代数(NRA)の間で双方向の多項式時間変換を確立し、表現的同等性を証明するとともに、複雑性結果の移行を可能にする。
  • MQueryの断片(例:Mmu, Mmupg, Mmupgl)を、還元と計算複雑性理論的技法を用いて分析し、結合複雑性とクエリ複雑性を特定する。
  • 非決定的および決定的アルゴリズムを用いてクエリ断片を評価し、特にDAG表現を活用して中間結果をコンパクトに符号化し、指数的爆発を管理する。
  • ブール充足可能性問題およびチューリングマシンの受理問題からの還元を適用し、NP-hardnessおよび完全性の結果を証明する。
  • 型制約下でのクエリのwell-typingチェックを導入し、そのDP完全性と、全段階のwell-typing検証のためのTA[2nO(1), nO(1)]-hardnessを証明する。

実験結果

リサーチクエスチョン

  • RQ1MongoDBのクエリ言語MQueryは、ネストドリレーショナル代数(NRA)と表現的に同等であるか?
  • RQ2特にunwind、group、lookup演算子を含むMQuery断片の評価における結合複雑性は何か?
  • RQ3lookupを除くMQueryの断片でも、単一のコレクション内での任意のジョインを表現可能か、これは一般的な誤解に反するのか?
  • RQ4filter、map、setUnionなどの配列演算子の存在が、MQueryにおけるクエリ評価の複雑性に与える影響は何か?
  • RQ5与えられた型制約下で、MQueryがwell-typedであるかどうかをチェックする複雑性は何か?

主な発見

  • MQueryはネストドリレーショナル代数(NRA)と表現的に同等であり、両方向の多項式時間変換が可能である。これにより、MongoDBが単一のコレクション内での任意のジョインを表現可能であることが証明された。
  • 最小限の断片Mm(マッチのみ)は、結合複雑性においてLogSpace完全である。これは、評価が tractable であることを示している。
  • unwind演算子を追加するだけで、結合複雑性はNP完全に上昇するが、クエリ複雑性では依然としてLogSpace完全のままである。
  • unwindとグループ化の両方が存在する場合、中間結果が二重指数的に巨大になる可能性があるため、PSpace-hardになる。
  • 完全なMQuery言語およびlookupを除くMmupg断片は、多項式回の入れ替えを伴う交互の指数時間において完全である。具体的にはTA[2nO(1), nO(1)]であり、ブールNRAクエリ評価の既知で最もタイトな上界と一致する。
  • 与えられた型制約下でクエリがwell-typedであるかどうかをチェックする問題はDP完全である。一方、全段階でのwell-typing検証の検証はTA[2nO(1), nO(1)]-hardである。これは、静的型チェックの複雑さが非常に高いことを示している。

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

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

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

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