A distributed, horizontally scalable open-source graph database with OpenCypher-compatible queries and Raft-based consistency.
dgraph-io/dgraph
A horizontally scalable, distributed graph database with a native GraphQL query interface and ACID transactions.
Open-source alternative to:Neo4j
- Stars
- 21,821
- Forks
- 1,610
- Open issues
- 114
- Last commit
- yesterday
What is it?
Dgraph is a distributed graph database written in Go. It provides ACID transactions, consistent replication and linearizable reads, and it stores data in a graph layout that aims to reduce disk seeks and network calls within a cluster. Queries use a GraphQL-inspired syntax, and responses can be returned as JSON or Protocol Buffers over gRPC or HTTP.
The project targets workloads with sparse or highly connected data that would otherwise need many SQL tables joined by foreign keys. It supports distributed joins, traversals, filtering, and aggregation, and it includes native full-text search, regular expressions, and geo search.
Dgraph officially supports Linux on amd64 and arm64. Docker is the recommended deployment path, and Kubernetes and Docker Compose setups are documented. Official client libraries are maintained by the team, with community-contributed clients also available.
Key features
- 01Distributed ACID transactions with consistent replication and linearizable reads.
- 02GraphQL-inspired query language with JSON and Protocol Buffers responses.
- 03Access over gRPC and HTTP.
- 04Native full-text search, regular expressions, and geo search.
- 05Automatic data movement for shard rebalancing across a cluster.
Use cases
- Querying highly connected data such as relationships, recommendations, or knowledge graphs.
- Replacing a sprawling set of SQL tables linked by foreign keys with a flexible schema.
- Serving real-time user queries over large volumes of structured data.
Quick start
- 1
Pull the official Docker image
docker pull dgraph/dgraph:latest - 2
Run a quick standalone cluster
docker run -it -p 8080:8080 -p 9080:9080 -v ~/dgraph:/dgraph dgraph/standalone:latest
Things to know
- Officially supported only on Linux/amd64 and Linux/arm64; Mac and Windows support was dropped in 2021.
- Building from source requires Go 1.27 or later.
In collections
Topics
FAQ
- What is dgraph?
- A horizontally scalable, distributed graph database with a native GraphQL query interface and ACID transactions. Dgraph is a distributed graph database written in Go. It provides ACID transactions, consistent replication and linearizable reads, and it stores data in a graph layout that aims to reduce disk seeks and network calls within a cluster. Queries use a GraphQL-inspired syntax, and responses can be returned as JSON or Protocol Buffers over gRPC or HTTP.
- Is dgraph free to use? What license does it have?
- dgraph is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is dgraph still maintained?
- Actively maintained. The last commit to dgraph was on Nov 5, 2026.
- What can I use dgraph for?
- Querying highly connected data such as relationships, recommendations, or knowledge graphs. Replacing a sprawling set of SQL tables linked by foreign keys with a flexible schema. Serving real-time user queries over large volumes of structured data.
- How do I install dgraph?
- Pull the official Docker image: docker pull dgraph/dgraph:latest Run a quick standalone cluster: docker run -it -p 8080:8080 -p 9080:9080 -v ~/dgraph:/dgraph dgraph/standalone:latest
- Where can I get dgraph?
- The source code and installation instructions are on GitHub: https://github.com/dgraph-io/dgraph
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A graph database that stores adjacency as sparse matrices and queries with OpenCypher, aimed at knowledge graphs for LLM and GraphRAG workloads.
A distributed SQL database written in Rust as an educational project, with Raft consensus, MVCC transactions and a SQL interface.
A multi-model database written in Rust that combines document, graph, relational, time-series, and key-value data with realtime queries and built-in access control.
An open-source graph database in Rust that stores graph, vector and full-text data together on object storage, queryable from Rust, TypeScript, Go and Python.
An open-source, self-building knowledge graph database where AI agents populate and maintain structured, typed data for process automation and decision making.