Dgraph v20.11: Tenacious T’Challa Release

Update: On April 16th 2021, Slash GraphQL was officially renamed Dgraph Cloud. All other information below still applies.

As 2020 comes to an end, it’s time for the last Dgraph release of the year. Dgraph v20.11 is also known as the Tenacious T’Challa release. When we named “Savvy Shuri” for our v20.07 release, we highlighted how we were inspired by Shuri’s genius, tactical smartness, and agility. With Tenacious T’Challa, we were inspired by his dexterity, innovation, and technological advancement.

Dgraph v20.11 includes feature updates for high performance, robust capabilities, and stability. Tenacious T’Challa is sure to be a fan favorite!

You can check out our detailed release notes and documentation here. An overview of the most important changes follows below.

More Powerful GraphQL Features

  • Aggregate query support in GraphQL (max, sum, min, avg, count)
    • Play with your data the way you want, utilizing aggregations and math functions on your graph data.
  • Union Types, Geo queries, and Auth on Interfaces for GraphQL
    • With better support for GraphQL spec, this update makes Dgraph more compatible with other GraphQL tools in your stack.
  • Auth using JSON Web Keys (JWK) URL
    • When you specify a JWK URL, Dgraph uses it to verify your JSON Web Tokens.
    • Dgraph updates the keys from the URL at regular intervals.
    • You can now use Firebase for authentication along with other providers like OneGraph that support JWK URLs
  • Persisted queries
    • Each persisted query is associated with a SHA-256 hash that replaces the need to send over the full query repeatedly.

Dgraph v20.11 Adds More Security

You also asked for greater TLS security implementations. The T’Challa update gives you that, featuring TLS for Dgraph Zero admin endpoints, inter-node mTLS communication within the Dgraph cluster, and requiring TLS 1.2 across the board. With these changes, you can set up a secure Dgraph cluster that can enforce mTLS for all endpoints. Also, this release keeps the /health endpoint available over HTTP even when mTLS is configured. This simplifies, for example, setting up liveness probes on Kubernetes where mTLS is not supported for health checks.

T’Challa is Faster and Stronger

It’s all about speed and performance. That’s why v20.11 adds tools for faster development, querying, and resource management.

Live loader now supports batch upserts, making it easier to load your datasets into your database. Batch upserts work on Slash GraphQL as well as Dgraph.

Query responses can optionally be returned in RDF format. This is available via our gRPC clients in DQL. For queries that return large, deeply nested results, RDF is more suited to streaming compared to the default JSON response format.

v20.11 Stability Improvements

before & after

Thanks to extensive experimentation and problem solving that you can read about in a recent blog, Dgraph v20.11 uses jemalloc to dramatically improve manual memory management. The goal is that Dgraph will never need more than 32GB of physical RAM to run any kind of workload, which users are already benefiting from - one of you told us the bulk loader no longer gets OOM-killed, plus bulk load time dropped from 48 hours to 20 hours, a 58% improvement! What would you do with an extra 28 hours?

I have loaded 11 bn triples into Dgraph version v20.11 and it worked great with 32 GB RAM, so memory is much better now. - Enrico Minack, G-Research

Lambda Resolvers Have Arrived

The update we know most of you are the most excited about, and we are, too, is the addition of Lambda Resolvers. Not only are they faster to use, but they also give a streamlined infrastructure and better support for serverless architecture. Build your custom resolvers in JavaScript and write functions into your GraphQL layer yourself!

Want to watch a demo? Tejas showcased Lambda in Slash GraphQL at our recent community call.

Go Try Dgraph v20.11

Dgraph v20.11 improves performance, makes everything faster, plus gives you the features you’ve been asking for. Even better? It’s all open source. Download Dgraph now and start using these new features. Need to learn Dgraph or GraphQL? Check out our recently-launched learn site for everything you need to go from beginner to adept in less than 4 hours.

We want to pause and thank our incredible community. You’re the reason we know what people want, plus we get so excited to give you fun surprises and things we think you’ll like. Be sure to join the conversation!

Finally, if you don’t want to worry about deploying Dgraph yourself, be sure to check out our fully-managed solution: Dgraph Cloud is a fully-managed graph database service that lets you start building your apps within minutes, so you can scale your business, not your DevOps budget.