This paper introduces GTX a standalone main-memory write-optimized graph system that specializes in structural and graph property updates while maintaining concurrent reads and graph analytics with snapshot isolation-level transactional concurrency. Recent graph libraries target efficient concurrent read and write support while guaranteeing transactional consistency. However, their performance suffers for updates with strong temporal locality over the same vertexes and edges due to vertex-centric lock contentions. GTX introduces a new delta-chain-centric concurrency-control protocol that eliminates traditional mutually exclusive latches. GTX resolves the conflicts caused by vertex-level locking, and adapts to real-life workloads while maintaining sequential access to the graph's adjacency lists storage. This combination of features has been demonstrated to provide good performance in graph analytical queries. GTX's transactions support fast group commit, novel write-write conflict prevention, and lazy garbage collection. Based on extensive experimental and comparative studies, in addition to maintaining competitive concurrent read and analytical performance, GTX demonstrates high throughput over state-of-the-art techniques when handling concurrent transaction+analytics workloads. For write-heavy transactional workloads, GTX performs up to 11x better than the best-performing state-of-the-art systems in transaction throughput. At the same time, GTX does not sacrifice the performance of read-heavy analytical workloads, and has competitive performance similar to state-of-the-art systems.
翻译:本文介绍GTX,一种独立主存的写优化图系统,专注于结构和图属性更新,同时通过快照隔离级别的事务并发性维护并发读取和图分析。近期图库致力于在保证事务一致性的同时实现高效的并发读写支持。然而,由于以顶点为中心的锁竞争,这些系统在处理具有强时间局部性的相同顶点和边更新时性能受限。GTX提出了一种新的基于增量链的并发控制协议,消除了传统的互斥锁。该协议解决了顶点级锁定引发的冲突,并在保持图邻接列表顺序存储访问的同时适应实际工作负载。实践表明,这种特性组合在图分析查询中具有良好的性能。GTX的事务支持快速组提交、新颖的写写冲突预防以及惰性垃圾回收。基于广泛的实验与对比研究,GTX不仅保持了具有竞争力的并发读取和分析性能,在处理并发事务与分析混合负载时,其吞吐量较现有最优技术显著提升。对于写密集型事务负载,GTX的事务吞吐量比性能最佳的现有系统高出最多11倍;同时,其在读密集型分析负载下未牺牲性能,表现与现有最优系统相当。