gitmyhub

dgraph

Go ★ 22k updated 1d ago

high-performance graph database for real-time use cases

Dgraph is a distributed graph database that stores data as connected nodes and edges, making it fast to query complex relationships at scale using GraphQL syntax.

GoGraphQLDockerProtocol Bufferssetup: moderatecomplexity 4/5

Dgraph is a high-performance database designed specifically for graph data — information where the important thing is how pieces of data connect to each other, not just the data itself. Think of a social network where you need to know not just who each person is, but who they're friends with, who those friends are friends with, and so on. Regular databases (the kind with rows and columns in tables) get slow and complicated when you need to model these webs of relationships. Dgraph is built from scratch to make those kinds of queries fast at large scale.

It works by storing data as a graph — a network of nodes and edges — and optimising how that data sits on disk specifically for graph traversal queries. It supports ACID transactions, which means it maintains data integrity even if something goes wrong mid-write (ACID is a standard guarantee that your data stays consistent and correct). The database responds using GraphQL syntax, a modern way of querying data where you describe what you want rather than writing complex join operations. Responses come back as JSON or Protocol Buffers over standard web protocols.

Dgraph is designed to run across multiple servers simultaneously (distributed architecture), so it can handle massive datasets that wouldn't fit on one machine. The README notes it is production-ready at version 25 and used by multiple large companies.

You would use Dgraph when your data has complex many-to-many relationships — the README suggests it as a fit when you have many database tables linked together, sparse or irregular data, or when you need strong performance at scale. It is built with the Go programming language and officially runs on Linux. Running it via Docker is the recommended approach for getting started.

Where it fits