It’s time for the first major Dgraph release of 2021. Dgraph v21.03 is also known as the Resilient Rocket release. The Dgraph team took inspiration from Rocket’s brilliant engineering and heavy armory while building the robust features of v21.03.
We heard from you, our community, that our v20.11 release was helpful in ending OOM issues and adding improved experiences and performance. Since the last major release, Dgraph has been focusing on bringing Dgraph Cloud to parity with the open-source version while adding new, highly-requested functionality including multi-tenancy and Apollo Federation.
Be sure to read the detailed release notes and documentation here. An overview of the most important changes follows below.
As a popular part of the GraphQL tech stack, Apollo is a valued part of the GraphQL ecosystem. That’s why Dgraph now natively supports Apollo Federation, which lets you create a gateway GraphQL service that includes the Dgraph GraphQL API and other GraphQL services. As Apollo Federation users, you’ll now have access to the power of Dgraph’s query execution along with your existing GraphQL services. The v21.03 implementation of Apollo Federation supports five directives:
If you’re a fan of serverless development, our update to Lambda webhooks for add/update/delete mutations will be super exciting because you can save on writing tons of custom code, plus add automated functionality to your project. For example:
Other GraphQL updates include:
Along with our updates, we’ve also streamlined our Dgraph Cloud offerings. All our hosted Dgraph options are Dgraph Cloud. If you’re used to Slash GraphQL, here’s how the naming now works:
Also important to note, you can now access dedicated instances using our self-service interface - this also offers transparent pricing as you estimate your production-level setup in the Cloud.
Other interesting Dgraph Cloud updates include:
We are thrilled to share that v21.03 is the official release of multi-tenancy. This improves performance and affordability. Multi-tenancy is an enterprise-only feature that allows various tenants to co-exist in the same Dgraph cluster. Each tenant can only log into and operate in their own namespace or “galaxy” in Dgraph’s naming.
Multi-tenancy is built upon Access Control Lists (ACL). The tenants are logically separated, and their data lies in the same p directory. Each namespace has a group guardian (of the galaxy), which has root access to that namespace.
Dgraph can be integrated with HashiCorp Vault to secure access for the Encryption-At-Rest key so that it is not left on the disk. This feature has been expanded to support the secret key for the Access Control Lists as well. Read more in our how-to guide with configuration examples using Docker Compose.
Another enterprise feature added with v21.03 is audit logging. You can enable audit logging so that all requests are tracked and available for use in security audits. When enabled, it records details about queries and mutations (requests) sent to your database including:
Based on user feedback and requests, we’ve added the following enterprise features:
We have updated Dgraph Tour to include a GraphQL tour. Now with this update, you can learn both standard GraphQL and DQL side-by-side. The site is integrated with Dgraph Cloud, so you can try out the tour with your Dgraph Cloud account.
If you’re not using Dgraph Cloud, Dgraph features are configured with a myriad of flags (or command-line arguments). To streamline and improve the experience with v21.03.0, we consolidated several related flags together into a superflag, where you pass in a semi-colon separated list of options to the superflag. Find out more about how to configure Dgraph with the new superflags in our documentation.
Did you know there is a Dgraph Helm chart and a Dgraph-Lambda Helm Chart? You can use this to deploy Dgraph on the Kubernetes platform. You can also find example configurations for Resilient Rocket in the Helm chart git repo.
It is an understatement to say that managing both Kubernetes and Dgraph on top of Kubernetes is operationally complex. As an alternative, you can let Dgraph manage this for you with Dgraph Cloud.
In case you missed the Discuss post, we wanted to pause to highlight that this latest version does not feature support for Windows or macOS. You can still run Dgraph through Docker, or using Dgraph Cloud, on Windows or Macs, but native support is no longer a part of our open source product.
Ratel, the web user interface for Dgraph, will no longer be included in Dgraph releases or official Docker images. Instead, you can navigate to https://play.dgraph.io/ to access Ratel, and configure this to point to your Dgraph endpoint.
The Ratel application is a self-contained web application that can connect to any Dgraph, so you don’t need to run a local web service to host the web application. Should you still need to run a local copy of Ratel, you can compile a version from the Ratel source code (see building and running Ratel). For building a Docker image, you can copy the dgraph-ratel
binary into a docker image based on Ubuntu or other Linux operating system docker images.
We are really excited about the v21.03 “Resilient Rocket” release because it’s a major leap on our 2021 roadmap. If you haven’t already, please check out our plans for Dgraph in the coming year, and feel free to give us your feedback. We want to make sure that we’re continuing to build the most advanced native GraphQL graph database for you and your projects.