图模式的连接处理:老狗新把戏
Join Processing for Graph Patterns: An Old Dog with New Tricks
摘要:
几十年来,连接优化一直由Selinger风格的成对优化器主导。但是,Selinger风格的算法是渐近次优的图形分析应用程序。这种次优性是许多人主张用专门的图形处理引擎来补充关系引擎的原因之一。最近,新的连接算法已经被发现,实现最佳的最坏情况下的运行时间的任何连接,甚至所谓的超越最坏情况(或实例最佳)运行时间保证专门类的连接。这些新算法匹配或改进了专用图形处理系统中使用的算法。本文问这些新的连接算法是否可以让关系引擎缩小与图引擎的性能差距?我们研究这个问题的图形模式查询或连接查询。我们发现,经典的关系数据库,如Postgres和MonetDB或较新的图形数据库/存储,如Virtuoso和Neo4j可能会比这些新方法慢几个数量级,与使用这些新思想的功能齐全的RDBMS LogicBlox相比。我们的研究结果表明,具有这种新算法的RDBMS可以像GraphLab这样的专用引擎一样执行-同时保留高级接口。我们希望这能增加正在进行的关于图加速器、新图系统和关系系统在现代工作负载中的作用的辩论。
英文摘要:
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.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。