Skip to main content
QUICK REVIEW

[论文解读] On the Evaluation of RDF Distribution Algorithms Implemented over Apache Spark

Olivier Curé, Hubert Naacke|arXiv (Cornell University)|Jul 8, 2015
Advanced Database Systems and Queries参考文献 23被引用 8
一句话总结

本文在 Apache Spark 上评估了五种 RDF 分发算法——两种基于哈希,两种基于图划分,一种混合方法——以评估数据准备成本、负载均衡、复制和查询性能。结果表明,基于哈希的方法具有较低的准备开销和出色的可扩展性,而混合方法在复制成本极低的情况下实现了接近最优的查询性能,因此特别适合工作负载已知的数据仓库。

ABSTRACT

Querying very large RDF data sets in an efficient manner requires a sophisticated distribution strategy. Several innovative solutions have recently been proposed for optimizing data distribution with predefined query workloads. This paper presents an in-depth analysis and experimental comparison of five representative and complementary distribution approaches. For achieving fair experimental results, we are using Apache Spark as a common parallel computing framework by rewriting the concerned algorithms using the Spark API. Spark provides guarantees in terms of fault tolerance, high availability and scalability which are essential in such systems. Our different implementations aim to highlight the fundamental implementation-independent characteristics of each approach in terms of data preparation, load balancing, data replication and to some extent to query answering cost and performance. The presented measures are obtained by testing each system on one synthetic and one real-world data set over query workloads with differing characteristics and different partitioning constraints.

研究动机与目标

  • 在统一且可扩展的框架中评估并比较主流的 RDF 分发策略。
  • 评估不同分发技术在数据准备成本、负载均衡、复制和查询性能方面的影响力。
  • 证明 Apache Spark 作为大规模分布式 RDF 处理高性能平台的可行性。
  • 为具有不同查询工作负载的大规模 RDF 数据集识别最优策略。
  • 在真实世界和合成工作负载中,评估纯哈希、图划分与混合方法之间的权衡。

提出的方法

  • 使用 Apache Spark 的 API 重新实现五种 RDF 分发算法——两种基于哈希,两种基于图划分(nHopDB、WARP),一种混合方法。
  • 利用 Spark 的内存处理能力提升性能,相较于 Hadoop MapReduce,充分发挥其容错性和可扩展性优势。
  • 在一份合成 RDF 数据集和一份真实世界 RDF 数据集上评估系统,使用六种不同的 SPARQL 查询,覆盖多种分区约束条件。
  • 通过测量数据准备时间、负载均衡性、复制率和查询执行时间,比较系统行为。
  • 在图划分方法中使用 K-means 聚类对 RSG(根子图)进行分组,但该方法在高维向量处理方面存在局限性。
  • 利用 Spark 原生对 Scala 中查询重写和执行的支持,简化端到端处理流水线。

实验结果

研究问题

  • RQ1在 Apache Spark 上实现时,不同 RDF 分发策略在数据准备成本、负载均衡和复制方面的表现如何?
  • RQ2基于哈希与基于图划分的方法之间,查询性能与系统开销的权衡是什么?
  • RQ3结合哈希与 n 跳复制的混合分发策略能否在准备开销极低的情况下实现更优性能?
  • RQ4Apache Spark 在处理大规模 RDF 数据分发和查询处理方面与 Hadoop MapReduce 相比如何?
  • RQ5查询特征(例如星型模式、属性链)在多大程度上影响分布式 RDF 系统的性能?

主要发现

  • 基于哈希的分发方法实现了最低的数据准备成本,仅需加载三元组,无需复杂预处理。
  • 混合方法结合了 n 跳复制的优势与极低的准备开销,减少了对昂贵图划分的依赖。
  • 与纯 WARP 相比,混合方案的复制开销微乎其微,但显著提升了复杂模式的查询性能。
  • Apache Spark 展现出强大的可扩展性,通过增加集群节点可高效处理数十亿三元组,在部分操作中性能比 Hadoop MapReduce 提升高达 100 倍。
  • 基于图划分的方法(如 nHopDB 和 WARP)因高维向量处理和对 Metis 的依赖而面临可扩展性限制,在三元组数量超过五亿时即告失败。
  • 查询性能因模式类型而异:O-O 连接导致较高的跨分区通信开销,而 S-O 和 S-S 连接在基于哈希的方案下更为高效。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

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