Skip to main content
QUICK REVIEW

[论文解读] Old Techniques for New Join Algorithms: A Case Study in RDF Processing

Christopher R. Aberger, Susan Tu|arXiv (Cornell University)|Feb 10, 2016
Advanced Database Systems and Queries参考文献 14被引用 7
一句话总结

本文使用 LUBM 基准测试评估了最坏情况最优连接算法——最初为理论构造——在实际 RDF 查询处理中的表现。结果表明,在无额外优化的情况下,EmptyHeaded 和 LogicBlox 等引擎在循环查询上比专用 RDF 引擎快 6 倍;通过应用三种经典优化(索引布局、选择下推、流水线处理),EmptyHeaded 在无环查询上的性能可达到顶级 RDF 引擎的量级以内。

ABSTRACT

Recently there has been significant interest around designing specialized RDF engines, as traditional query processing mechanisms incur orders of magnitude performance gaps on many RDF workloads. At the same time researchers have released new worst-case optimal join algorithms which can be asymptotically better than the join algorithms in traditional engines. In this paper we apply worst-case optimal join algorithms to a standard RDF workload, the LUBM benchmark, for the first time. We do so using two worst-case optimal engines: (1) LogicBlox, a commercial database engine, and (2) EmptyHeaded, our prototype research engine with enhanced worst-case optimal join algorithms. We show that without any added optimizations both LogicBlox and EmptyHeaded outperform two state-of-the-art specialized RDF engines, RDF-3X and TripleBit, by up to 6x on cyclic join queries-the queries where traditional optimizers are suboptimal. On the remaining, less complex queries in the LUBM benchmark, we show that three classic query optimization techniques enable EmptyHeaded to compete with RDF engines, even when there is no asymptotic advantage to the worst-case optimal approach. We validate that our design has merit as EmptyHeaded outperforms MonetDB by three orders of magnitude and LogicBlox by two orders of magnitude, while remaining within an order of magnitude of RDF-3X and TripleBit.

研究动机与目标

  • 评估最坏情况最优连接算法是否能在真实世界的 RDF 工作负载中带来实际的性能提升。
  • 探究这些理论上最优的算法是否能超越或与最先进的专用 RDF 引擎相媲美。
  • 评估经典数据库优化(索引布局、选择下推、流水线处理)对最坏情况最优引擎的影响。
  • 确定最坏情况最优连接的渐近优势是否能转化为在多样化 RDF 查询模式下的可测量性能提升。
  • 验证原型最坏情况最优引擎(EmptyHeaded)是否能超越传统引擎和现有最坏情况最优引擎,同时保持与专用 RDF 系统的竞争力。

提出的方法

  • 作者实现并评估了 EmptyHeaded,一个基于集合交集和多路连接处理的先进连接算法的最坏情况最优引擎原型。
  • 他们在包含 1.33 亿个三元组的完整 LUBM 基准测试中,将 EmptyHeaded 和 LogicBlox(一款商业最坏情况最优引擎)与 RDF-3X 和 TripleBit 进行对比。
  • 该研究应用了三种经典优化:针对高选择性模式的优化索引布局、减少中间结果大小的选择下推,以及查询计划节点间中间结果的流水线处理。
  • 性能通过七次查询执行的墙钟时间测量,剔除最快和最慢的运行以减少方差。
  • 作者在 EmptyHeaded 中使用基于 tries 的数据结构以支持覆盖索引,从而高效支持高选择性无环查询。
  • 他们分析了在循环和无环查询模式下的查询执行时间,重点关注渐近优势与实际性能权衡。

实验结果

研究问题

  • RQ1最坏情况最优连接算法是否能在真实世界的 RDF 工作负载中,相对于传统和专用 RDF 引擎带来可测量的性能提升?
  • RQ2经典数据库优化(如索引布局、选择下推、流水线处理)在多大程度上缩小了最坏情况最优引擎与专用 RDF 系统之间的性能差距?
  • RQ3最坏情况最优连接算法是否在循环查询中提供实际优势?这类查询在传统引擎中被证明具有渐近次优性。
  • RQ4原型最坏情况最优引擎(EmptyHeaded)在多样化查询类型下,与通用和专用 RDF 引擎相比性能如何?
  • RQ5最坏情况最优引擎中的性能瓶颈是什么?能否通过针对性优化加以缓解?

主要发现

  • 在循环查询(特别是包含三角形模式的 LUBM Q2 和 Q9)中,EmptyHeaded 和 LogicBlox 比 RDF-3X 和 TripleBit 快 6 倍,证明了最坏情况最优连接算法的实际效益。
  • 在无任何额外优化的情况下,LogicBlox 和 EmptyHeaded 在循环查询上比传统关系型引擎快 18 倍,比专用 RDF 引擎快 4 倍。
  • 通过应用三种经典优化(索引布局、选择下推、流水线处理),EmptyHeaded 在高选择性无环查询上的运行时间减少了两个数量级以上,性能达到 RDF-3X 和 TripleBit 的一个数量级以内。
  • 在选择性高的简单无环查询(如 LUBM Q1、Q3、Q5、Q11、Q13、Q14)中,由于其高效的基于 tries 的覆盖索引,EmptyHeaded 的性能与专用引擎相当。
  • 在复杂无环查询(如 LUBM Q7、Q8、Q12)中,专用引擎仍优于 EmptyHeaded,尽管优化可使性能提升最高达 48 倍。
  • EmptyHeaded 在 LUBM Q8 上出现性能下降,归因于内存重新分配,该问题被确定为主要瓶颈;移除该问题后,性能与 RDF-3X 相当,表明仍有进一步优化潜力。

更好的研究,从现在开始

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

无需绑定信用卡

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