Skip to main content
QUICK REVIEW

[論文レビュー] Compact Data Structures Meet Databases (Invited Talk)

Domagoj Vrgoč, Carlos Rojas|arXiv (Cornell University)|Nov 2, 2021
Graph Theory and Algorithms参考文献 26被引用数 3
ひとこと要約

MillenniumDB は、エッジIDとオプションの注釈を用いて、RDF やプロパティグラフなどの複数のグラフモデルをネイティブにサポートする、革新的なドメイングラフデータモデルに基づく永続的でオープンソースのグラフデータベースエンジンである。リレーショナルデータベース技術と、ワーストケース最適なジョイン処理およびオートマトン誘導パスクエリの分野で最先端のアルゴリズムを組み合わせることで、実世界の Wikidata ワークロードにおいて、Neo4j や Blazegraph といった先進的なシステムを凌駕する優れたパフォーマンスを達成した。

ABSTRACT

In this systems paper, we present MillenniumDB: a novel graph database engine that is modular, persistent, and open source. MillenniumDB is based on a graph data model, which we call domain graphs, that provides a simple abstraction upon which a variety of popular graph models can be supported. The engine itself is founded on a combination of tried and tested techniques from relational data management, state-of-the-art algorithms for worst-case-optimal joins, as well as graph-specific algorithms for evaluating path queries. In this paper, we present the main design principles underlying MillenniumDB, describing the abstract graph model and query semantics supported, the concrete data model and query syntax implemented, as well as the storage, indexing, query planning and query evaluation techniques used. We evaluate MillenniumDB over real-world data and queries from the Wikidata knowledge graph, where we find that it outperforms other popular persistent graph database engines (including both enterprise and open source alternatives) that support similar query features.

研究の動機と目的

  • 最先端の理論的技術と実用的パフォーマンス、拡張性を統合したオープンソースのグラフデータベースが不足しているという問題に取り組む。
  • RDF やプロパティグラフといった多様なグラフモデルを、一般化可能な抽象化であるドメイングラフという単一の抽象化で統合する。
  • パスクエリや任意のグラフ要素(ノード、エッジ、ラベル)におけるジョイン処理といった高度なクエリ機能をサポートする、モジュラーで拡張可能で理論的に整合性のあるグラフデータベースシステムを設計する。
  • 研究者や実務家が生産環境で利用可能なオープンソース環境で、新規のアルゴリズムを拡張・実験できるようにする。

提案手法

  • エッジIDを用いて再帰的表現(reification)を必要とせず、高次元関係をネイティブに表現できるように拡張された有向ラベル付きグラフを拡張した、形式的なデータモデルとしてドメイングラフを提唱する。
  • Cypherをインspiredした新規なクエリ構文を導入するが、エッジIDの明示的参照および任意のグラフ要素(ノード、エッジ、ラベル)におけるジョイン処理をサポートするように拡張している。
  • 従来のリレーショナル技術(B+ ツリー、バッファマネージャ)と、ワーストケース最適なジョイン処理(leapfrogトリック)およびパスクエリ評価(オートマトン誘導)の分野で最先端のアルゴリズムを組み合わせたハイブリッドなストレージおよびクエリ実行エンジンを採用する。
  • ストレージ、インデキシング、クエリプランニング、評価といったコンponentsを分離するモジュラーなアーキテクチャを採用することで、拡張性と再利用性を実現する。
  • コアのドメイングラフ抽象化を保持したまま、プロパティグラフモデルとの互換性を高めるために、グラフ要素にオプションの外部注釈をサポートする。
  • メインメモリへのアクセスを効率的に管理するバッファマネージャを採用し、I/Oを最小限に抑え、大規模データセットにおいて一貫したパフォーマンスを確保する。

実験結果

リサーチクエスチョン

  • RQ1RDF とプロパティグラフモデルの両方をネイティブにサポートし、効率的なクエリ処理を可能にする統合されたグラフデータモデルを設計できるか?
  • RQ2再帰的表現や予約語の語彙を必要とせずに、エッジIDを活用して高次元関係を表現する方法は何か?
  • RQ3ワーストケース最適なジョイン処理およびパスクエリの分野で最先端の理論的アルゴリズムを、永続的でオープンソースのデータベースエンジンに効果的に統合できるか?
  • RQ4古典的なリレーショナル技術と最新のアルゴリズム的進歩を組み合わせることで、実世界のグラフワークロードにおけるパフォーマンスがどの程度向上するか?
  • RQ5モジュラーでオープンソースのグラフデータベースシステムは、企業向けのシステムと同等のパフォーマンスを達成しつつ、研究的イノベーションのための拡張性を維持できるか?

主な発見

  • MillenniumDB は、Wikidata 知識グラフからの実世界のクエリにおいて、Neo4j や Blazegraph、Jena、Virtuoso といった先進的なシステムを上回るパフォーマンスを発揮した。
  • Wikidata Complete ベンチマークにおいて、データセットのスケーリングに伴ってパフォーマンスの低下が見られなかったため、強力なスケーラビリティを示した。
  • 大規模な複雑なクエリ群において、平均して1クエリあたり13.4秒(タイムアウトを除くと8秒)の実行時間となった。
  • 1,000件を超えるクエリのうち、わずか15件がタイムアウトに終わったが、すべてが80万件から4,400万件の結果を返すクエリで発生しており、大規模な結果セットの処理に対する堅牢な対応を示した。
  • 単一クエリ、複数クエリ、複雑なBGPパターン、およびプロパティパスクエリを含む、さまざまなクエリタイプにおいて一貫したパフォーマンスを示した。
  • ワーストケース最適なジョインアルゴリズム(leapfrog)とオートマトン誘導パス評価の統合が、パフォーマンス向上に顕著な貢献をした。

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

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

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

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