Skip to main content
QUICK REVIEW

[论文解读] TigerGraph: A Native MPP Graph Database

Alin Deutsch, Yu Xu|arXiv (Cornell University)|Jan 24, 2019
Graph Theory and Algorithms参考文献 19被引用 14
一句话总结

TigerGraph 展示了一种原生大规模并行处理(MPP)图数据库系统,从零开始设计,专为高性能图分析而优化。它引入了 GSQL,一种高级、与 SQL 兼容的查询语言,通过循环和累加器支持声明式、迭代算法,使复杂图工作负载在 2 倍至 10 倍的数据压缩率下实现高效扩展(scale-up 和 scale-out)性能,并实现基于索引的快速访问。

ABSTRACT

We present TigerGraph, a graph database system built from the ground up to support massively parallel computation of queries and analytics. TigerGraph's high-level query language, GSQL, is designed for compatibility with SQL, while simultaneously allowing NoSQL programmers to continue thinking in Bulk-Synchronous Processing (BSP) terms and reap the benefits of high-level specification. GSQL is sufficiently high-level to allow declarative SQL-style programming, yet sufficiently expressive to concisely specify the sophisticated iterative algorithms required by modern graph analytics and traditionally coded in general-purpose programming languages like C++ and Java. We report very strong scale-up and scale-out performance over a benchmark we published on GitHub for full reproducibility.

研究动机与目标

  • 设计一种原生 MPP 图数据库,支持复杂图分析的海量扩展(scale-up 和 scale-out)性能。
  • 通过提供统一的高级查询语言,弥合 SQL 开发者与 NoSQL/MapReduce 程序员之间的差距。
  • 在无需低级命令式编程的情况下,实现对迭代图算法(例如 PageRank、最短路径)的表达性声明式描述。
  • 通过同态压缩和基于哈希的索引优化存储与访问,实现快速、可扩展的操作。

提出的方法

  • 设计一种原生分布式图存储引擎,原生地以优化的物理布局方式存储节点、边和属性。
  • 实现同态压缩以减少内存占用和缓存未命中率,同时对用户查询实现透明解压。
  • 使用基于哈希的索引实现对节点和边的快速访问,确保即使图规模增长,也能实现常数时间查找。
  • 引入 GSQL 作为声明式语言,具备与 SQL 兼容性,并支持图专用原语(如正则路径模式)。
  • 通过两种核心构造(循环和累加器)支持迭代算法,以高级语法实现 BSP 风格计算。
  • 提供原生 MPP 执行引擎,将 GSQL 查询原生映射到跨分布式节点的并行执行计划。

实验结果

研究问题

  • RQ1如何基于原生 MPP 原则设计图数据库系统,以在大规模下实现高性能?
  • RQ2像 GSQL 这样的高级查询语言能否同时提供与 SQL 兼容性和对迭代图算法的表达能力?
  • RQ3通过原生图存储结合同态压缩和高效索引,能实现多大的性能提升?
  • RQ4声明式查询语法与 BSP 风格计算的集成,如何在不牺牲开发人员生产力的前提下实现可扩展分析?
  • RQ5GSQL 在多大程度上能将复杂图算法(如 PageRank、连通分量)表达为声明式、高级别的代码?

主要发现

  • TigerGraph 在一个公开可用的基准测试中实现了强大的扩展(scale-up 和 scale-out)性能,证明了其在复杂图工作负载下的高效率。
  • TigerGraph 中的数据压缩实现了通常在 2 倍至 10 倍之间的压缩率,显著减少了内存占用并提升了缓存效率。
  • 基于哈希的索引实现了对节点和边的快速、常数时间访问,即使图规模增长也能保持性能稳定。
  • GSQL 通过声明式循环和累加器支持迭代算法(如 PageRank、最短路径)的完整表达能力,消除了对低级编码的需求。
  • 该系统使 SQL 开发者无需学习新范式即可编写图查询,同时 NoSQL 开发者仍可沿用其熟悉的 BSP/MapReduce 思维模型。
  • 基准测试结果已公开发布在 GitHub 上,证实了其可复现性,并且性能优于其他商业图产品。

更好的研究,从现在开始

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

无需绑定信用卡

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