Databases · head to head
Dgraph vs Envoy

Dgraph
Databases
Apache 2.0 distributed graph database written in Go, maintained by Hypermode, queried through GraphQL or its own DQL language.
- From
- Free
- Free plan
- Yes

Envoy
Developer Tools
A high-performance L7 proxy written in C++ that is configured by an API rather than a config file, and is usually deployed under a control plane.
- From
- Free
- Free plan
- Yes
The short version
- Envoy is free; Dgraph starts at $39/mo.
- Only Dgraph lists apache 2.0 licence; only Envoy lists xDS dynamic configuration.
- Prices and features on this page were last checked on 13 November 2026.
Where they differ
Only the attributes on which Dgraph and Envoy actually diverge.
Identical on both: starting price (Free), free tier (Yes).
Not yet recorded: founded for Envoy.
What each one covers
Drawn from each product's published feature list. An absence here means we hold no record of it - not that the product lacks it.
Only in Dgraph
- Apache 2.0 licence
- Generated GraphQL API
- DQL query language
- Predicate sharding
- Raft replication
- Distributed ACID transactions
- Written in Go
- Full-text and geo indexing
Only in Envoy
- xDS dynamic configuration
- Protocol breadth
- Filter chain architecture
- Observability by default
- Outlier detection
- Traffic shaping
- mTLS termination and origination
- Hot restart
What people use each for
The jobs each tool is most often brought in to do.
Dgraph
- An application whose core data is a graph, such as permissions, social connections or product relationships, where the frontend already consumes GraphQLnot Envoy
- A knowledge graph that outgrew a single machine and needs storage distributed across nodes without a per-core licence negotiationnot Envoy
- Recommendation or fraud-detection features that traverse several hops at request time, where a relational join chain has become the bottlenecknot Envoy
- Teams that want a graph database they can read, fork and self-host under a permissive licence rather than a source-available onenot Envoy
Envoy
- Acting as the data plane under a service mesh or Gateway API implementation, which is how the overwhelming majority of deployments use itnot Dgraph
- An edge or API gateway that needs per-route retry budgets, circuit breaking and outlier detection rather than round-robin proxyingnot Dgraph
- Migrating traffic between service versions or between a monolith and its replacement, using weighted splits and shadow trafficnot Dgraph
- Standardising observability across a polyglot estate, so that latency, error rates and tracing look the same regardless of the language a service is written innot Dgraph
Where each one falls short
Documented limitations, not opinions. Every one is a constraint you would hit in normal use.
Dgraph
- Sharding is by predicate, so a single very hot predicate lives entirely in one Raft group and cannot be split further; adding nodes does not relieve it and the fix is a data model change
- Stewardship passed from Dgraph Labs to Hypermode after the original company stopped operating independently, so anyone building on it is betting on a second custodian rather than on the original team's roadmap
- The GraphQL layer is generated and opinionated, so anything it does not express drops you into DQL, which is a second language your team must learn and which no other database speaks
- The community is a fraction of Neo4j's, so operational answers, tuning experience, hiring and third-party tooling are all thinner, and unusual failure modes in a Zero and Alpha cluster leave you reading source rather than a forum
- There is no portable graph standard to migrate to; Cypher, Gremlin and SPARQL are all different query models, so the schema and every query is a rewrite if you later leave, and that cost grows with the application
Envoy
- The configuration surface is very large and hand-written bootstrap YAML runs to hundreds of lines for routing that Nginx expresses in twenty, which is why nearly every production deployment sits under a control plane and inherits that control plane's constraints as well
- xDS is the real API and it is not stable in the comfortable sense; the v2 API set was removed outright, resource types continue to be deprecated, and your control plane and Envoy binaries have to be upgraded roughly in step or the proxies stop accepting configuration
- Extending it properly means writing a C++ filter and building and maintaining your own Envoy binary; the alternatives are Lua, which adds per-request overhead, and proxy-wasm, whose ABI has remained effectively experimental for years with a real performance cost
- At sidecar density the per-proxy memory and CPU footprint is a measurable share of cluster capacity, since thousands of workloads each carry a full proxy, and this is precisely the cost that has pushed mesh projects towards node-level or ambient architectures
- There is no single vendor selling support for Envoy itself; you get the community plus control-plane vendors such as Solo.io and Tetrate, so an Envoy-level production bug is your own engineers in a C++ codebase unless a support contract happens to cover it
- Diagnosing why a request got a particular response involves reading config dumps, the stats endpoint and the RESPONSE_FLAGS codes in access logs rather than a readable error, which is a specific skill you must hire or spend months growing
Pricing, plan by plan
Dgraph
Free- CommunityFree
- Native GraphQL
- Graph queries
- Full-text search
- Cloud$39/mo
- Managed service
- Auto-scaling
- Enterprise support
Envoy
FreeNo published plan breakdown. See the Envoy review.
Which should you pick?
Choose Dgraph if
- You need apache 2.0 licence.
- You want to start without paying.
- You work on Linux, macOS, Self-hosted, Web.
- You also want generated graphql api.
Choose Envoy if
- You need xds dynamic configuration.
- You want to start without paying.
- You also want protocol breadth.
Questions people ask
- Is Dgraph or Envoy better?
- Neither clearly leads. Dgraph starts at Free and Envoy at Free, and user ratings are close enough to be indistinguishable. Choose on capability and platform support.
- Which is cheaper, Dgraph or Envoy?
- Dgraph starts at Free and Envoy at Free.
- Does Dgraph or Envoy run on more platforms?
- Dgraph runs on Linux, macOS, Self-hosted, Web. Envoy runs on Web.
- Can I use Dgraph for free?
- Both have a free tier, so you can try either at no cost before committing.
- What is Dgraph best used for?
- Dgraph is most often used for an application whose core data is a graph, such as permissions, social connections or product relationships, where the frontend already consumes graphql, a knowledge graph that outgrew a single machine and needs storage distributed across nodes without a per-core licence negotiation, recommendation or fraud-detection features that traverse several hops at request time, where a relational join chain has become the bottleneck, teams that want a graph database they can read, fork and self-host under a permissive licence rather than a source-available one. Of those, an application whose core data is a graph, such as permissions, social connections or product relationships, where the frontend already consumes graphql and a knowledge graph that outgrew a single machine and needs storage distributed across nodes without a per-core licence negotiation are not what Envoy is typically brought in for.
- What can Dgraph do that Envoy cannot?
- Dgraph covers Apache 2.0 licence, Generated GraphQL API, DQL query language, Predicate sharding. Envoy covers xDS dynamic configuration, Protocol breadth, Filter chain architecture, Observability by default.
Answered from the vendors’ own pages
Dgraph: Is Dgraph open source?
Yes. The current repository is Apache 2.0, which is a permissive OSI licence, and the project is at v25 under Hypermode's maintenance.
Envoy: Should I run Envoy on its own, or under a control plane?
Almost always under one. Directly authoring xDS or static bootstrap configuration is viable for a handful of routes and becomes unmanageable beyond that. Envoy Gateway, Istio, Contour, Gloo and Consul all exist to generate that configuration for you.
Dgraph: Is it really GraphQL?
It serves a generated GraphQL API, which is real GraphQL for clients. Its native language, DQL, resembles GraphQL syntactically but is Dgraph's own language and is not the GraphQL specification.
Envoy: How does it compare with Nginx or HAProxy?
Envoy is dynamically configured over an API and instrumented far more heavily; Nginx and HAProxy are faster to configure and lighter for straightforward reverse proxying. If you never need to change routing without a reload, Envoy is more machinery than the problem requires.
Dgraph: How does it compare to Neo4j?
Neo4j has the larger ecosystem, Cypher, and far more operational precedent. Dgraph distributes storage across nodes by default and gives you a GraphQL endpoint without writing resolvers. The choice usually turns on whether you need horizontal scale and a GraphQL surface more than you need ecosystem depth.
Envoy: What does it cost?
Nothing to licence; it is Apache 2.0 and there is no paid edition. The cost is engineering time and, for most organisations, a commercial control plane or cloud service that packages it.
Dgraph: What does a production cluster look like?
At minimum a set of Zero nodes for coordination and a replicated set of Alpha nodes for data, typically three of each for fault tolerance, which is a meaningfully larger operational footprint than a single graph server.
Envoy: Can I write extensions without C++?
You can write Lua filters or proxy-wasm modules in Rust, Go, C++ or AssemblyScript. Both carry per-request overhead compared with a native filter, and the Wasm path has been slower to stabilise than the project originally projected.
Dgraph: Who maintains it now?
Hypermode. Dgraph Labs, the original company, no longer operates it, and that change of custodian is the main non-technical risk to weigh.
Envoy: Is it a CNCF project?
Yes, it is a graduated CNCF project licensed under Apache 2.0, which means the trademark and governance sit with the foundation rather than with Lyft or any vendor.
Related pages
Other head to heads
- Dgraph vs Neo4j
- Dgraph vs ArangoDB
- Dgraph vs Elasticsearch
- Dgraph vs Couchbase
- Dgraph vs Cassandra
- Dgraph vs FaunaDB
- Dgraph vs Firebase Realtime Database
- Dgraph vs RavenDB
- Dgraph vs ScyllaDB
- Dgraph vs Cockroach Labs
- Dgraph vs DynamoDB
- Dgraph vs Qdrant
- Dgraph vs SingleStore
- Dgraph vs TiDB
- Dgraph vs Tinybird
- Dgraph vs Typesense
- Dgraph vs Valkey
- Dgraph vs CouchDB
- Dgraph vs Istio
- Dgraph vs Ona (formerly Gitpod)
- Dgraph vs Spacelift
- Dgraph vs Atlantis
- Dgraph vs Jenkins
- Dgraph vs Hookdeck
- Dgraph vs Restate
- Dgraph vs Helix
- Dgraph vs Turborepo
- Dgraph vs StackBlitz
- Dgraph vs Webpack
- Dgraph vs Backstage
- Dgraph vs OpsLevel
- Dgraph vs PartyKit
- Dgraph vs PhpStorm
- Dgraph vs Pieces for Developers
- Dgraph vs RAD Studio
- Dgraph vs Refact
- Envoy vs Neo4j
- Envoy vs ArangoDB
- Envoy vs Elasticsearch
- Envoy vs Couchbase
- Envoy vs Cassandra
- Envoy vs FaunaDB
- Envoy vs Firebase Realtime Database
- Envoy vs RavenDB
- Envoy vs ScyllaDB
- Envoy vs Cockroach Labs
- Envoy vs DynamoDB
- Envoy vs Qdrant
- Envoy vs SingleStore
- Envoy vs TiDB
- Envoy vs Tinybird
- Envoy vs Typesense
- Envoy vs Valkey
- Envoy vs CouchDB
- Envoy vs Istio
- Envoy vs Ona (formerly Gitpod)
- Envoy vs Spacelift
- Envoy vs Atlantis
- Envoy vs Jenkins
- Envoy vs Hookdeck
- Envoy vs Restate
- Envoy vs Helix
- Envoy vs Turborepo
- Envoy vs StackBlitz
- Envoy vs Webpack
- Envoy vs Backstage
- Envoy vs OpsLevel
- Envoy vs PartyKit
- Envoy vs PhpStorm
- Envoy vs Pieces for Developers
- Envoy vs RAD Studio
- Envoy vs Refact
