Dgraph Paper

Dgraph: Synchronously Replicated, Transactional and Distributed Graph Database

Abstract

Dgraph is a distributed graph database which provides horizontal scalability, distributed cluster-wide ACID transactions, low-latency arbitrary-depth joins, synchronous replication, high availability and crash resilience. Aimed at real-time transactional workloads, Dgraph shards and stores data in a way to optimize joins and traversals, while still providing data retrieval and aggregation. Dgraph's unique take is to provide low-latency arbitrary-depth joins in a constant number of network calls (typically, just one network call) that would be required to execute a single join, irrespective of the size of the cluster or the size of the result set.

This eleven page research paper provides a comprehensive overview of Dgraph's underlying technology, including:

  • Dgraph Architecture: Data Format, Data Storage, Data Sharding, and Data Rebalancing
  • Indexing
  • Transaction and Lock-Free High Availability Transaction Processing
  • Consistency Model
  • Replication
  • High Availability and Scalability
  • Queries, Traversals, Functions, Filters, Intersections
  • Future Work