GTX: A Transactional Graph Data System For HTAP Workloads (2405.01448v1)
Abstract: Processing, managing, and analyzing dynamic graphs are the cornerstone in multiple application domains including fraud detection, recommendation system, graph neural network training, etc. This demo presents GTX, a latch-free write-optimized transactional graph data system that supports high throughput read-write transactions while maintaining competitive graph analytics. GTX has a unique latch-free graph storage and a transaction and concurrency control protocol for dynamic power-law graphs. GTX leverages atomic operations to eliminate latches, proposes a delta-based multi-version storage, and designs a hybrid transaction commit protocol to reduce interference between concurrent operations. To further improve its throughput, we design a delta-chains index to support efficient edge lookups. GTX manages concurrency control at delta-chain level, and provides adaptive concurrency according to the workload. Real-world graph access and updates exhibit temporal localities and hotspots. Unlike other transactional graph systems that experience significant performance degradation, GTX is the only system that can adapt to temporal localities and hotspots in graph updates and maintain million-transactions-per-second throughput. GTX is prototyped as a graph library and is evaluated using a graph library evaluation tool using real and synthetic datasets.
- [n.d.]. OpenMP. https://www.openmp.org/
- A critique of ANSI SQL isolation levels. SIGMOD Rec. 24, 2 (may 1995), 1–10. https://doi.org/10.1145/568271.223785
- Mammoths Are Slow: The Overlooked Transactions of Graph Data. ([n. d.]).
- Dean De Leo. [n.d.]. graphlog. https://github.com/whatsthecraic/graphlog
- Dean De Leo and Peter Boncz. 2021. Teseo and the Analysis of Structural Dynamic Graphs. 14, 6 (feb 2021), 1053–1066. https://doi.org/10.14778/3447689.3447708
- Sortledton: A Universal, Transactional Graph Data Structure. Proc. VLDB Endow. 15, 6 (feb 2022), 1173–1186. https://doi.org/10.14778/3514061.3514065
- LDBC Graphalytics: A Benchmark for Large-Scale Graph Analysis on Parallel and Distributed Platforms. 9, 13 (2016), 12.
- Jérôme Kunegis. [n.d.]. The KONECT Project. http://konect.cc/
- ByteGraph: A High-Performance Distributed Graph Database in ByteDance. Proc. VLDB Endow. 15, 12 (2022).
- Performant Almost-Latch-Free Data Structures Using Epoch Protection. In Data Management on New Hardware (DaMoN’22). Article 1, 10 pages.
- An Empirical Evaluation of In-Memory Multi-Version Concurrency Control. Proc. VLDB Endow. 10, 7 (2017). https://doi.org/10.14778/3067421.3067427
- LiveGraph: A Transactional Graph Storage System with Purely Sequential Adjacency List Scans. 13, 7 (mar 2020), 1020–1034.