
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 Formate, Data Storage, Data Sharding, and Data Rebalaning
Indexing
Replication
Consistency Model
Transaction and Lock-Free High Availability Transaction Processing
High Availability and Scalability
Queries, Traversals, Functions, Filters, Intersections
Future Work