Categories
Self-Hosted Developer Tools Full-Text Search Vector Search GraphQL Graph Database Distributed Database ACID TransactionsStars
Forks
Watchers
Developer links
Dgraph
Dgraph is a distributed graph database that answers connected-data questions, such as who follows whom or which parts depend on which suppliers, in a single query instead of a pile of joins. Describe your data in a GraphQL schema and Dgraph generates a GraphQL API with its graph backend, or write DQL, the native query language, for deeper traversals. Indexes handle full-text search, regular expressions, and geo queries, and vector indexes add similarity search over embeddings. Transactions stay ACID across the cluster, replication is consistent, and data shards rebalance themselves as the dataset grows. Ratel, the companion web IDE, runs queries and mutations, draws results as a graph, edits the schema, lists cluster nodes, and manages backups. Bulk Loader fills a new cluster with large datasets, while Live Loader adds or upserts records into a running one. Access control lists and namespaces keep tenants apart within one cluster. It suits data spread across more than ten tables linked by foreign keys, sparse records that fit poorly in SQL, and schemas that must stay simple to read and change. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. Apache-2.0 licensed.
Benefits
- Relationship Queries Without Joins
- Follow links between people, products, or records in a single query, so connected data stays easy to explore instead of spreading across join tables and foreign keys.
- One Schema Generates the API
- Describe your types in a GraphQL schema and Dgraph builds the API and graph backend for you, then DQL remains available when a query needs deeper traversal.
- Grows Past a Single Server
- Sharded storage, consistent replication, and automatic rebalancing let the database spread across nodes as data grows, while transactions stay ACID instead of relaxing consistency.
- Browser Tools for Daily Operations
- Ratel shows results as a graph, edits the schema, lists cluster nodes, and handles backups, so routine administration and debugging happen in the browser rather than on the command line.
Features
- GraphQL and DQL Queries
- Generate a GraphQL API from a schema, or write DQL queries and RDF or JSON mutations to select, filter, and aggregate connected data.
- Full-Text, Geo, Vector Search
- Native indexes support full-text search, regular expressions, and geo queries, while HNSW vector indexes with similarity queries power embedding search.
- Distributed ACID Transactions
- Data is sharded across nodes with consistent replication and linearizable reads, and transactions remain ACID across the whole cluster.
- Ratel Web IDE
- A browser console for DQL queries, mutations, schema edits, cluster monitoring, and backups, with results shown as a graph, JSON, raw request, or geo view.
- Bulk and Live Loaders
- Bulk Loader performs fast initial imports into a new cluster, while Live Loader imports data into a running cluster and supports upserts for existing nodes.
- ACL and Multi-Tenancy
- Access control lists and namespaces let several tenants share one cluster, with each tenant limited to logging in and operating inside its own namespace.