Skip to main content
QUICK REVIEW

[论文解读] Join Processing for Graph Patterns: An Old Dog with New Tricks

Dung T. Nguyen, Molham Aref|arXiv (Cornell University)|Mar 13, 2015
Advanced Database Systems and Queries参考文献 15被引用 6
一句话总结

本文在功能完整的RDBMS(LogicBlox)中评估了最坏情况最优和超越最坏情况最优的连接算法——LeapFrog TrieJoin(LFTJ)和Minesweeper,用于图模式匹配。结果表明,这些现代连接算法使关系型数据库在循环和非循环图查询上的性能超越了传统关系型系统和专用图数据库,缩小了与图引擎的性能差距,同时保留了高级SQL接口。

ABSTRACT

Join optimization has been dominated by Selinger-style, pairwise optimizers for decades. But, Selinger-style algorithms are asymptotically suboptimal for applications in graphic analytics. This suboptimality is one of the reasons that many have advocated supplementing relational engines with specialized graph processing engines. Recently, new join algorithms have been discovered that achieve optimal worst-case run times for any join or even so-called beyond worst-case (or instance optimal) run time guarantees for specialized classes of joins. These new algorithms match or improve on those used in specialized graph-processing systems. This paper asks can these new join algorithms allow relational engines to close the performance gap with graph engines? We examine this question for graph-pattern queries or join queries. We find that classical relational databases like Postgres and MonetDB or newer graph databases/stores like Virtuoso and Neo4j may be orders of magnitude slower than these new approaches compared to a fully featured RDBMS, LogicBlox, using these new ideas. Our results demonstrate that an RDBMS with such new algorithms can perform as well as specialized engines like GraphLab -- while retaining a high-level interface. We hope this adds to the ongoing debate of the role of graph accelerators, new graph systems, and relational systems in modern workloads.

研究动机与目标

  • 探究现代、理论最优的连接算法是否能够缩小关系型数据库与专用图处理引擎在图模式查询上的性能差距。
  • 评估最坏情况最优(LFTJ)和超越最坏情况最优(Minesweeper)连接算法在真实世界RDBMS环境中的实际性能。
  • 确定在何种查询和数据特征下,这些新算法能超越传统Selinger风格优化器和图专用系统。
  • 评估在单一关系型引擎中统一OLAP和图分析工作负载的可行性,借助先进的连接算法。

提出的方法

  • 将最坏情况最优的多路连接算法LeapFrog TrieJoin(LFTJ)实现并集成到LogicBlox RDBMS中。
  • 实现Minesweeper算法,这是一种超越最坏情况最优的连接算法,通过智能索引和缓存机制最小化冗余计算。
  • 与多种系统进行基准测试:行存储(PostgreSQL)、列存储(MonetDB)、图数据库(Virtuoso、Neo4j)以及图处理引擎(GraphLab、RedShift、System HC)。
  • 在真实世界的图工作负载上进行评估,包括团、路径、树以及混合模式(如棒棒糖图)等,覆盖多个数据集(LiveJournal、Pokec、Orkut)。
  • 通过采样和边子集缩放实验,分析在不同数据规模和选择性水平下的性能与可扩展性。
  • 设计并评估一种结合LFTJ和Minesweeper的混合算法,以在混合查询场景中发挥两者的优势。

实验结果

研究问题

  • RQ1最坏情况最优和超越最坏情况最优的连接算法是否能使功能完整的RDBMS在图模式查询上达到或超越专用图引擎的性能?
  • RQ2LFTJ和Minesweeper在不同类型的图查询(非循环与循环)中,相对于传统Selinger风格优化器和图专用系统的表现如何?
  • RQ3在何种查询和数据环境下,Minesweeper的缓存机制能为性能带来可测量的优势,相较于LFTJ?
  • RQ4这些新连接算法在数据规模增加时的可扩展性如何,尤其是在低选择性或高冗余场景下?
  • RQ5结合LFTJ和Minesweeper的混合算法是否能在混合结构查询中超越两者单独的表现?

主要发现

  • 在循环图查询上,LogicBlox结合LFTJ和Minesweeper的性能比PostgreSQL、MonetDB、Virtuoso、Neo4j和GraphLab高出一个数量级以上。
  • LFTJ在3-团和4-环等循环查询中表现最快,尤其在密集数据和高选择性场景下优势显著。
  • Minesweeper在1-树和2-树等非循环查询中表现优异,其缓存机制在低选择性场景下(冗余计算多)带来显著性能提升。
  • 对于结合路径和团结构的混合查询(如i-棒棒糖图),混合算法的表现优于LFTJ和Minesweeper,表明存在显著的优化潜力。
  • 传统关系型数据库(PostgreSQL、MonetDB)和Neo4j在许多图模式查询中出现超时,即使在小数据子集上也如此,凸显其在该类工作负载下的低效性。
  • 扩展性实验表明,最优连接算法可处理比传统系统大两个数量级的数据集,其中LFTJ支持的图比Minesweeper大一个数量级。

更好的研究,从现在开始

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

无需绑定信用卡

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