- Very simple to run. With native GraphQL support, one just has to define a schema and begin consuming the database from client side. It's a huge productivity boost as one doesn't have to spend time building table schemas, writing ORM mappings and API definitions.
- DGraph Query Language (DQL): When GraphQL is insufficient, developers can use DQL for graph-database operations.
- Continuous improvement: DGraph is evolving rapidly and new features are being added. Recently Lambdas were announced, which allow developers to run Node.js code in response to DGraph events without need of separate infrastructure. DGraph also supports full text search.
- Managed cloud service: Slash GraphQL gives you a production-ready DGraph cluster in seconds and removes the need of infrastructure management. It has a generous free tier, which can be extended through referrals.
- Great ecosystem: DGraph has a suite of first class and open-source tools like Rattel (Data Visualizer and Cluster Manager), Badger (Key-value database) and Risretto (a golang based cache).
- Community: The developer community on discuss.dgraph.io is very helpful.
- Fun events: They have a lot of events like the GraphQL in Space conference, Go Systems Conf, Slash GraphPL hackathon and monthly community calls.
While Dgraph ships with many features, what I like the most is:
- The ability to use all GraphQL tools with it since it natively uses GraphQL
- Being Cloud Native handling scalability, performance and tolerance better than others
- It was very easy to get started with just the knowledge of GraphQL
- It is open source using Badger underneath
Dgraph provides flexible and custom data resolvers that allow us to integrate it with other services, database and technologies. It does this in parallel, allowing almost infinite scalability and massive performance gains. With its own DQL (extension of GraphQL), you can pass variables between graph queries and use the results of previous queries in future segments.
Having looked at other market options, we settled on Dgraph because of its flexibility, ability to query data without tying ourselves in knots (or returning data for local processing simply to run additional queries), and exceptional indexing capabilities.
We use Dgraph in many situations, from our own internal systems through to supporting integrations where conventional databases just can't compete. In our development teams, we find we're more productive and able to concentrate on core development without burying business logic in deep layers of SQL!