Demystifying Graph Databases: Analysis and Taxonomy of Data Organization, System Designs, and Graph Queries

10/20/2019
by   Maciej Besta, et al.
0

Graph processing has become an important part of multiple areas of computer science, such as machine learning, computational sciences, medical applications, social network analysis, and many others. Numerous graphs such as web or social networks may contain up to trillions of edges. Often, these graphs are also dynamic (their structure changes over time) and 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 of such datasets, combined with the irregular nature of graph processing, 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., triple stores, tuple stores, native graph database systems, or object-oriented systems), the associated graph models (e.g., RDF 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 ACID). 45 graph database systems are presented and compared, including Neo4j, OrientDB, or Virtuoso. We outline graph database queries and relationships with associated domains (NoSQL stores, graph streaming, and dynamic graph algorithms). Finally, we describe research and engineering challenges to outline the future of graph databases.

READ FULL TEXT

Authors

page 3

page 8

page 11

page 12

page 18

page 22

page 25

page 28

02/25/2019

Graph Processing on FPGAs: Taxonomy, Survey, Challenges

Graph processing has become an important part of various areas, such as ...
12/29/2019

Practice of Streaming and Dynamic Graphs: Concepts, Models, Systems, and Parallelism

Graph processing has become an important part of various areas of comput...
09/13/2019

Dynamic Graph Algorithms and Graph Sparsification: New Techniques and Connections

Graphs naturally appear in several real-world contexts including social ...
06/05/2018

Survey and Taxonomy of Lossless Graph Compression and Space-Efficient Graph Representations

Various graphs such as web or social networks may contain up to trillion...
05/20/2019

Ingesting High-Velocity Streaming Graphs from Social Media Sources

Many data science applications like social network analysis use graphs a...
07/15/2020

Non-Relational Databases on FPGAs: Survey, Design Decisions, Challenges

Non-relational database systems (NRDS), such as graph, document, key-val...
01/15/2016

Real-Time Community Detection in Large Social Networks on a Laptop

For a broad range of research, governmental and commercial applications ...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.