Skip to main content
QUICK REVIEW

[論文レビュー] S2RDF: RDF Querying with SPARQL on Spark

Alexander Schätzle, Martin Przyjaciel-Zablocki|arXiv (Cornell University)|Dec 22, 2015
Semantic Web and Ontologies参考文献 31被引用数 41
ひとこと要約

S2RDF は、クエリの形状に関係なく入力サイズを最小限に抑えるために、半結合還元を用いた新しいリレーショナルパーティショニングスキーマである ExtVP を導入する。Apache Spark 上に構築され、SPARQL を SQL にコンパイルする。10億トリプルのデータセットにおいて、1秒未満のクエリ実行性能を達成し、最新の Hadoop 上の SPARQL システムと比較して平均で1桁の性能向上を達成する。高径路クエリに対しても同様に優れた性能を発揮する。

ABSTRACT

RDF has become very popular for semantic data publishing due to its flexible and universal graph-like data model. Yet, the ever-increasing size of RDF data collections makes it more and more infeasible to store and process them on a single machine, raising the need for distributed approaches. Instead of building a standalone but closed distributed RDF store, we endorse the usage of existing infrastructures for Big Data processing, e.g. Hadoop. However, SPARQL query performance is a major challenge as these platforms are not designed for RDF processing from ground. Thus, existing Hadoop-based approaches often favor certain query pattern shape while performance drops significantly for other shapes. In this paper, we describe a novel relational partitioning schema for RDF data called ExtVP that uses a semi-join based preprocessing, akin to the concept of Join Indices in relational databases, to efficiently minimize query input size regardless of its pattern shape and diameter. Our prototype system S2RDF is built on top of Spark and uses its relational interface to execute SPARQL queries over ExtVP. We demonstrate its superior performance in comparison to state of the art SPARQL-on-Hadoop approaches using the recent WatDiv test suite. S2RDF achieves sub-second runtimes for majority of queries on a billion triples RDF graph.

研究の動機と目的

  • 大規模な RDF データにおける分散環境下での SPARQL クエリ処理のパフォーマンスボトルネックを解消すること。
  • 選択性が低いか径路が長いクエリで性能が著しく低下する既存の Hadoop 基盤の SPARQL エンジンの限界を克服すること。
  • 専用の RDF ストアに依存せずに、Spark などの汎用ビッグデータプラットフォームを用いて効率的でインタラクティブな RDF クエリ処理を可能にすること。
  • 構造的複雑性や径路に関係なく、任意の SPARQL クエリパターンに対して入力サイズを削減するストレージスキーマの設計。
  • ExtVP テーブルの選択性閾値を設定可能な仕組みにより、ストレージオーバーヘッドとパフォーマンスの間の実用的なトレードオフを提供すること。

提案手法

  • ExtVP は垂直パーティショニング(VP)を拡張し、SPARQL クエリ内の三項パターン間の結合相関に基づいて、事前に半結合還元を計算する。
  • 選択性係数(SF)の閾値を用いて、高選択性の ExtVP テーブルのみを物化することで、ストレージオーバーヘッドを低減しつつパフォーマンスの恩恵を維持する。
  • クエリコンパイラは、テーブル統計を用いて実行に最も選択性の高いテーブルを選択し、SPARQL を Spark SQL クエリにコンパイルする。
  • システムは、ExtVP スキーマ上で効率的で分散処理可能なクエリ実行を、Spark のメモリ内 SQL インターフェースを活用して実現する。
  • このアプローチは、リレーショナルデータベースにおける結合インデックスに類似しているが、RDF の三項構造と SPARQL のパターンマッチングに特化して最適化されている。
  • クエリコンパイラは、入力サイズと実行コストを最小限に抑えるために、選択性に基づいて最適なテーブルを選択する。

実験結果

リサーチクエスチョン

  • RQ1RDF データのリレーショナルパーティショニングスキーマが、径路や形状に関係なく、任意の SPARQL クエリパターンに対して入力サイズを顕著に削減できるか?
  • RQ2Spark を用いて、10億トリプルの RDF グラフにおいて、ExtVP が複雑なクエリや選択性が低いクエリに対しても1秒未満のクエリパフォーマンスを達成できるか?
  • RQ3ExtVP テーブルに選択性閾値を導入することで、ストレージオーバーヘッドとクエリパフォーマンスのトレードオフにどのような影響を与えるか?
  • RQ4多様なクエリワークロードにおいて、S2RDF は最新の Hadoop 上の SPARQL システムと比較して、パフォーマンスでどの程度優れているか?
  • RQ5Spark などの汎用ビッグデータプラットフォームが、大規模な RDF データセットに対して、最小限のパフォーマンス劣化で効果的にインタラクティブな SPARQL クエリ処理を実現できるか?

主な発見

  • WatDiv テストスイートを用いた10億トリプルの RDF データセットにおいて、S2RDF は大多数のクエリで1秒未満の実行時間を達成する。
  • 平均して、S2RDF はあらゆるクエリ形状において、最新の Hadoop 上の SPARQL システムを1桁の性能向上で上回る。
  • 選択性閾値を 0.25 に設定した場合、S2RDF は完全な ExtVP スキーマの95%のパフォーマンス向上を達成しながら、テーブルタプルとストレージサイズの25%しか使用しない。
  • 線形、スターダイアグラム、複雑なクエリでは、SF TH = 0.25 を超えてもパフォーマンス向上がほとんど見られないが、中間テーブルの選択性が 0.25 < SF < 0.5 の雪だるま型クエリ(例:F3, F5)は、より高い閾値によって恩恵を受ける。
  • S2RDF のパフォーマンスはクエリの径路に依存しない。一方、既存のシステムは長いチェーンや選択性が低いクエリで著しく性能が低下する。
  • ExtVP は事前に計算された半結合還元により、ダングリングタプルを除外することで入力サイズを削減する。これは、小径路に限らず、あらゆるクエリパターンに有効である。

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

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

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

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