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). 51 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.
翻译:图处理已成为计算机科学多个领域的重要组成部分,例如机器学习、计算科学、医学应用、社交网络分析等。诸如网络图或社交网络图等大量图可能包含多达数万亿条边。通常,这些图也是动态的(其结构随时间变化),并且顶点和边关联着特定领域的丰富数据。像Neo4j这样的图数据库系统能够存储、处理和分析这样大规模、不断演变且丰富的数据集。由于此类数据集规模庞大,加之图处理的不规则特性,这些系统面临着独特的设计挑战。为促进对这一新兴领域的理解,我们首次对图数据库系统进行了综述和分类。我们重点识别并分析了这些系统的基本类别(例如三元组存储、元组存储、原生图数据库系统或面向对象系统)、相关的图模型(例如RDF或带标签的属性图)、数据组织技术(例如将图数据存储在索引结构中或将数据划分为记录)以及数据分布和查询执行的不同方面(例如对分片和ACID的支持)。本文介绍并比较了51个图数据库系统,包括Neo4j、OrientDB和Virtuoso。我们概述了图数据库查询及其与相关领域(NoSQL存储、图流处理和动态图算法)的关联。最后,我们描述了研究和工程挑战,以展望图数据库的未来。