Numerous irregular graph datasets, for example social networks or web graphs, may contain even trillions of edges. Often, their structure changes over time and they have domain-specific rich data associated with vertices and edges. Graph database systems such as Neo4j enable storing, processing, and analyzing such large, evolving, and rich datasets. Due to the sheer size and irregularity of such datasets, these systems face unique design challenges. To facilitate the understanding of this emerging domain, we present the first survey and taxonomy of graph database systems. We focus on identifying and analyzing fundamental categories of these systems (e.g., document stores, tuple stores, native graph database systems, or object-oriented systems), the associated graph models (e.g., Resource Description Framework or Labeled Property Graph), data organization techniques (e.g., storing graph data in indexing structures or dividing data into records), and different aspects of data distribution and query execution (e.g., support for sharding and Atomicity, Consistency, Isolation, Durability). Fifty-one graph database systems are presented and compared, including Neo4j, OrientDB, and Virtuoso. We outline graph database queries and relationships with associated domains (NoSQL stores, graph streaming, and dynamic graph algorithms). Finally, we outline future research and engineering challenges related to graph databases.
@article{besta2023demystifying, author={Maciej Besta and Robert Gerstenberger and Emanuel Peter and Marc Fischer and Michał Podstawski and Claude Barthels and Gustavo Alonso and Torsten Hoefler}, title={{Demystifying Graph Databases: Analysis and Taxonomy of Data Organization, System Designs, and Graph Queries}}, journal={ACM Comput. Surv.}, year={2023}, month={Sep.}, volume={56}, number={2}, publisher={Association for Computing Machinery}, issn={0360-0300}, source={http://www.unixer.de/~htor/publications/}, }