Skip to main content
QUICK REVIEW

[論文レビュー] PRoST: Distributed Execution of SPARQL Queries Using Mixed Partitioning Strategies

Matteo Cossu, Michael Färber|arXiv (Cornell University)|Feb 16, 2018
Semantic Web and Ontologies参考文献 9被引用数 27
ひとこと要約

PRoST は Apache Spark 上に構築された分散型 RDF ストアであり、垂直パーティショニングとプロパティテーブル戦略を組み合わせることで、SPARQL クエリのパフォーマンスを最適化する。広範なクエリタイプにわたって優れたクエリ実行時間を達成し、広範な事前計算を必要とせず、SPARQLGX や Rya といった最先端のシステムを凌駕し、S2RDF と同等のパフォーマンスを発揮しながらも、より高速なデータローディングを可能にする。

ABSTRACT

The rapidly growing size of RDF graphs in recent years necessitates distributed storage and parallel processing strategies. To obtain efficient query processing using computer clusters a wide variety of different approaches have been proposed. Related to the approach presented in the current paper are systems built on top of Hadoop HDFS, for example using Apache Accumulo or using Apache Spark. We present a new RDF store called PRoST (Partitioned RDF on Spark Tables) based on Apache Spark. PRoST introduces an innovative strategy that combines the Vertical Partitioning approach with the Property Table, two preexisting models for storing RDF datasets. We demonstrate that our proposal outperforms state-of-the-art systems w.r.t. the runtime for a wide range of query types and without any extensive precomputing phase.

研究の動機と目的

  • 大規模な RDF グラフを分散環境で効率的にクエリする課題に対処すること。
  • 多様な SPARQL クエリタイプにわたる高速なロードと高いクエリパフォーマンスを両立するストレージモデルを設計すること。
  • 時間のかかる事前計算に依存しないまま、クエリ効率を維持または向上させること。
  • 既存の Hadoop ベースの RDF システムと比較して、新規のハイブリッドデータモデルのパフォーマンスを評価すること。
  • 未知または変動するデータおよびクエリワークロードを想定した実世界のアプリケーションに適した実用的でスケーラブルなソリューションを提供すること。

提案手法

  • システムは垂直パーティショニング(VP)とプロパティテーブルを統合したハイブリッドストレージモデルを採用し、RDF トリプルを主語、述語、目的語ごとに別々のパーティショニングされた関係として格納する。
  • SPARQL クエリを最適化された実行計画に変換するために Apache Spark SQL を活用し、Catalyst オプティマイザおよび物理的実行計画を用いる。
  • プロパティテーブル構造により、同じ述語を持つトリプルをグループ化することで、等価結合の効率が向上し、シャッフルのオーバーヘッドが低減される。
  • セミジョインの事前計算や中間結果の物性化を回避することで、ローディング時間とストレージのオーバーヘッドを最小限に抑える。
  • 統計情報を用いた述語プッシュダウン、述語ベースのプルーニング、および効率的なジョイン順序選択により、クエリ実行を最適化する。
  • 実装は Spark のメモリ内処理モデルに基づいており、ディスクベースの MapReduce よりも高速な実行を実現するメインメモリ計算の利点を活用する。

実験結果

リサーチクエスチョン

  • RQ1垂直パーティショニングとプロパティテーブルを組み合わせることで、分散型 Spark ベースのシステムにおける SPARQL クエリパフォーマンスが向上するか?
  • RQ2提案されたハイブリッドモデルは、事前計算に依存せずに、多様な SPARQL クエリタイプにおいて高いパフォーマンスを維持できるか?
  • RQ3S2RDF や Rya、SPARQLGX といった既存システムと比較して、PRoST のクエリ実行時間とローディング時間はどの程度異なるか?
  • RQ4プロパティテーブルコンponent は、複雑なクエリ、スタークエリ、スノーフレイククエリにおいてどの程度パフォーマンスを向上させるか?
  • RQ5異なる数の述語やクエリパターンを持つデータセットに対しても、システムは一貫したパフォーマンスを発揮できるか?

主な発見

  • PRoST はすべてのクエリタイプにおいて SPARQLGX を約1桁の速度で上回り、ハイブリッドデータモデルの利点を裏付けた。
  • 複雑(C)クエリにおいて、PRoST の平均クエリ時間は 9,364ms であったのに対し、S2RDF は 3,392ms であり、事前計算されたセミジョインを使用しないにもかかわらず、優れたパフォーマンスを発揮した。
  • Rya は複雑なジョイン処理に非効率であるため、平均クエリ時間 2,195,322ms にとどまり、PRoST は著しく優れたパフォーマンスを示した。
  • スノーフレイク(F)クエリにおいて、PRoST の平均時間は 5,923ms であったのに対し、S2RDF は 1,564ms であった。これは、S2RDF が特定のケースで事前計算により優位性を発揮していることを示している。
  • プロパティテーブルの導入により、すべてのクエリタイプにおいてパフォーマンスが向上し、特に共有される述語があるスター(S)および複雑(C)クエリにおいて、効率的なジョイン処理が可能になった。
  • PRoST はすべてのクエリタイプにおいて一貫したパフォーマンスを発揮し、述語の数といったデータセットの特性に依存しなかった。これは、事前計算に依存するシステムとは対照的である。

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

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

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

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