🤖 AI Summary
Efficient storage and updating of large-scale dynamic graphs face the challenge of balancing query performance against memory overhead. This work proposes a vertex indexing scheme based on a space-optimal pointer-array radix tree, integrated with a snapshot-log hybrid edge storage architecture, achieving amortized O(1) update complexity and strong support for high concurrency. The approach maintains high performance for graph analytics while significantly outperforming existing methods: it improves update throughput by up to 16.27× and reduces memory consumption by 40.1% on average.
📝 Abstract
Dynamic graphs model many real-world applications, and as their sizes grow, efficiently storing and updating them becomes critical. We present RadixGraph, a fast and memory-efficient data structure for dynamic graph storage. RadixGraph features a carefully designed radix-tree-based vertex index that strikes an optimal trade-off between query efficiency and space among all pointer-array-based radix trees. For edge storage, it employs a hybrid snapshot-log architecture that enables amortized $O(1)$ update time. RadixGraph supports millions of concurrent updates per second while maintaining competitive performance for graph analytics. Experimental results show that RadixGraph outperforms the most performant baseline by up to $16.27\times$ across various datasets in ingesting graph updates, and reduces memory usage by an average of $40.1\%$. RadixGraph is open-source at https://github.com/ForwardStar/RadixGraph.