Skip to main content
QUICK REVIEW

[论文解读] System G Distributed Graph Database

Gabriel Tanase, Toyotaro Suzumura|arXiv (Cornell University)|Feb 8, 2018
Graph Theory and Algorithms参考文献 28被引用 5
一句话总结

System G 是一种可扩展的高性能分布式图数据库,专为实时插入和并发低延迟查询而优化,其吞吐量和延迟表现优于 Neo4j 和 JanusGraph。该系统每秒可实现 100,000 条以上的边插入(100,000+ edges/sec),并支持高并发低延迟查询。它采用基于分片的架构,结合新型基于 RPC 的通信层、基于任务的运行时系统,以及两种优化的边插入技术——Firehose 和查询管理器驱动插入,实现最高达 2.0× 的性能提升(12 个分片时),在吞吐量和延迟方面优于 Neo4j 和 JanusGraph。

ABSTRACT

Motivated by the need to extract knowledge and value from interconnected data, graph analytics on big data is a very active area of research in both industry and academia. To support graph analytics efficiently a large number of in memory graph libraries, graph processing systems and graph databases have emerged. Projects in each of these categories focus on particular aspects such as static versus dynamic graphs, off line versus on line processing, small versus large graphs, etc. While there has been much advance in graph processing in the past decades, there is still a need for a fast graph processing, using a cluster of machines with distributed storage. In this paper, we discuss a novel distributed graph database called System G designed for efficient graph data storage and processing on modern computing architectures. In particular we describe a single node graph database and a runtime and communication layer that allows us to compose a distributed graph database from multiple single node instances. From various industry requirements, we find that fast insertions and large volume concurrent queries are critical parts of the graph databases and we optimize our database for such features. We experimentally show the efficiency of System G for storing data and processing graph queries on state-of-the-art platforms.

研究动机与目标

  • 解决现有 OLTP 友好的图数据库在高吞吐量实时事务处理场景下的性能差距。
  • 实现每秒 100,000 条以上边的快速数据摄取,并支持数十万并发、低延迟查询。
  • 设计一种分布式图数据库,在放松 ACID 保证的前提下维持高吞吐量。
  • 通过新型消息传递技术,降低分布式边插入过程中的通信开销。
  • 通过支持快速批量加载和复杂查询执行,实现从关系型数据库高效迁移。

提出的方法

  • 基于键值存储构建单节点图数据库,以实现低延迟操作。
  • 通过将单节点数据库在多台机器上分片,组成分布式系统,每台机器管理图的一部分数据。
  • 实现基于任务的运行时系统,以高效处理数千个并发查询和插入操作。
  • 采用基于 RPC 的通信模型,协调分片之间以及分片与查询管理器之间的数据移动和查询路由。
  • 引入 Firehose 技术,实现高吞吐量批量边插入,同时最小化节点间通信。
  • 设计查询管理器组件,用于合并复杂查询、减少往返延迟,并执行结果聚合。

实验结果

研究问题

  • RQ1如何在最小化通信开销的前提下,使分布式图数据库在实时边插入场景下实现高吞吐量?
  • RQ2哪些架构模式能够支持在大规模分布式图数据库中实现低延迟、高并发的查询?
  • RQ3随着分片和服务器数量的增加,分布式图数据库的性能如何扩展?
  • RQ4在图数据库的 OLTP 工作负载中,哪些在一致性和性能之间的权衡是可行的?
  • RQ5像 Firehose 和查询管理器驱动插入这样的新型边插入技术,相比传统方法如何提升性能?

主要发现

  • 与单一分片相比,System G 在 12 个分片时实现了 2.0× 的性能提升,表明其在边插入工作负载下具有出色的可扩展性。
  • Firehose 插入方法在约 6 个分片时达到性能饱和,其瓶颈源于查询管理器处的网络带宽限制,而非延迟或处理开销。
  • System G 在查询执行时间上优于 Neo4j 和 JanusGraph,其中 JanusGraph 完成 100,000 次查询耗时数小时,导致完整测试不可行。
  • 在每台服务器超过 6 个分片时,性能出现下降,原因是在启用 SMT 的 24 核机器上线程调度和上下文切换过度。
  • 在高吞吐量插入期间,网络延迟主导了性能开销,当系统饱和时,超过 90% 的时间消耗在通信而非本地处理上。
  • 查询管理器通过合并查询并执行分布式执行,显著减少了往返通信,大幅提升了复杂邻域查询的响应时间。

更好的研究,从现在开始

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

无需绑定信用卡

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