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 的新型 RDF 数据关系分区方案,该方案利用半连接优化来最小化查询输入大小,且不受查询结构的影响。基于 Apache Spark 构建,S2RDF 将 SPARQL 编译为 SQL,在包含十亿个三元组的数据集上实现了亚秒级查询性能,平均比当前最先进的 SPARQL-on-Hadoop 系统快一个数量级,即使在高直径查询下也表现优异。

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)实现高效、交互式的 SPARQL 查询。
  • 设计一种存储模式,可针对任意 SPARQL 查询模式减少输入大小,无论其结构复杂度或直径如何。
  • 通过为 ExtVP 表配置选择性阈值,实现存储开销与性能之间的实用权衡。

提出的方法

  • ExtVP 通过基于 SPARQL 查询中三元组模式之间连接相关性的预计算半连接缩减,扩展了垂直分区(VP)机制。
  • 利用选择性因子(SF)阈值,仅物化高选择性的 ExtVP 表,从而在保持性能优势的同时减少存储开销。
  • 使用表统计信息将 SPARQL 查询编译为 Spark SQL 查询,以选择最具有选择性的表进行执行。
  • 系统利用 Spark 的内存内 SQL 接口,高效地在 ExtVP 模式上执行分布式查询。
  • 该方法在概念上类似于关系数据库中的连接索引,但专为 RDF 的三元组结构和 SPARQL 的模式匹配特性而设计。
  • 查询编译器基于选择性选择最优表,以最小化输入大小和执行成本。

实验结果

研究问题

  • RQ1是否能够通过 RDF 数据的关系分区方案显著减少任意 SPARQL 查询模式的输入大小,无论其直径或形状如何?
  • RQ2S2RDF 是否能在使用 Spark 的情况下,对十亿三元组的 RDF 图实现亚秒级查询性能,即使面对复杂或选择性差的查询?
  • RQ3为 ExtVP 表引入选择性阈值如何影响存储开销与查询性能之间的权衡?
  • RQ4S2RDF 在多样化的查询工作负载下,与当前最先进的 SPARQL-on-Hadoop 系统相比,性能表现如何?
  • RQ5通用大数据平台(如 Spark)是否能有效用于大规模 RDF 数据集的交互式 SPARQL 查询,且性能下降最小?

主要发现

  • S2RDF 在 WatDiv 测试套件的十亿三元组 RDF 数据集上,对大多数查询实现了亚秒级的运行时间。
  • 平均而言,S2RDF 在所有查询结构下均比当前最先进的 SPARQL-on-Hadoop 系统快一个数量级。
  • 当选择性阈值为 0.25 时,S2RDF 仅使用 25% 的表元组和存储空间,即可获得完整 ExtVP 模式 95% 的性能收益。
  • 线性、星型和复杂查询在选择性阈值超过 0.25 后性能增益极小,而雪花型查询(如 F3、F5)因中间表的选择性在 0.25 到 0.5 之间,可从更高的阈值中获益。
  • S2RDF 的性能与查询直径无关,而现有系统在长链或选择性差的查询下性能显著下降。
  • ExtVP 通过预计算的半连接缩减排除了悬挂元组,从而减少了输入大小,该方法对所有查询模式均有效,而不仅限于小直径查询。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。