Introduction to Dgraph for SQL Users

Introduction

As an app developer who uses SQL, or a SQL professional, you might have heard about GraphQL. If you aren’t sure whether anything that you know about SQL is transferable to GraphQL, or whether it is worth the trouble to learn GraphQL and use it in your next app; then this tutorial is for you.

In this course, you will see how common SQL syntax maps to equivalent GraphQL syntax, and learn about some of the features in the GraphQL implementation of Dgraph database that make it an especially flexible choice to power your next app or website. GraphQL is much more than just a data query language - it provides a backend API for your app that replaces REST APIs. But, GraphQL can also be a replacement for SQL queries, especially with the capabilities included in Dgraph’s GraphQL implementation.

Dgraph database architecture

Dgraph database is a horizontally scalable and distributed GraphQL database with a graph backend. It powers Slash GraphQL, a fully-managed GraphQL backend database service that lets you focus on building apps, not managing infrastructure.

Internally, Dgraph relies on the following open-source projects that are maintained by the Dgraph core team:

  • Badger key-value database: a fast, open-source key-value database written in pure Go that provides the disk layer for Dgraph
  • Ristretto: a fast, open source, concurrent Go caching library that provides a high-performance, contention-free cache for Dgraph

While other services require separate layers for the database and the client accessible-GraphQL endpoint, Slash GraphQL is capable of serving up a single-layered GraphQL endpoint that is production-ready. To learn more about Slash GraphQL, see Slash GraphQL Overview.