Compare

Dgraph vs GraphQL Platforms

What’s the easiest way to adopt GraphQL?

Updated in July 2021

hasura-logo
prisma-logo
AWSappsync-logo
Dgraph Others
GraphQL "Schema First" Approach

Yes

One schema control both the database schema and the generated GraphQL API

Hasura

DB schema first, GraphQL schema is derived automatically from this

Prisma

DB schema is used to generate Prisma Schema file. Prisma schema then generates the Prisma Client

AWS AppSync

GraphQL schema is manually mapped to data sources using custom resolvers

API Query Language Support
GraphQL and DQL native support

Hasura

GraphQL only

Prisma

GraphQL only

AWS AppSync

GraphQL only

Dependencies Required

None

Out-of-the-box solution contains both database and GraphQL service layer in a single product.

Hasura

Requires database to be plugged in to get stack working

Prisma

Requires database in order to power GraphQL

AWS AppSync

Other AWS ecosystem components required like Lambda, Database, etc.

GraphQL Federation Support

Yes

GraphQL Federation is fully supported in the most recent versions of Dgraph

Hasura

Yes, through remote joins

Prisma 

Not currently supported as part of the Prisma platform

AWS AppSync

Not currently supported natively

GraphQL Subscription Support

Yes

GraphQL Subscriptions are fully supported in the most recent versions of Dgraph

Hasura

Yes

Prisma

Not natively in Prisma 2, Prisma 1 has some support.

AWS AppSync

Yes

Schema stitching support

No

However, Dgraph endpoints can be stitched together with others using platforms such as Apollo

Hasura

yes, through remote schemas

Prisma

No

AWS AppSync

No

Authentication and Authorization Support

Yes

JWT and JWK support using @auth directive in schema

Easily integrate and secure your APIs using your favourite Identity Providers including Auth0, Firebase, Social Sign-in's, and custom security solutions

Hasura

yes, Hasura supports Admin secret based authentication, JWT-based authentication, and web hook based authentication.

Prisma

AWS AppSync

AppSync provides authorization and authentication in four ways:

  • Using API keys.
  • Using AWS Identity and Access Management (IAM).
  • Using an OpenID Connect identity provider (Auth0).
  • Using Amazon Cognito User Pools.
Deployment Options

Multiple

  • Open source
  • Dgraph Cloud
  • Enterprise On-premise

Hasura

  • Hasura Community Edition
  • Hasura Enterprise On-premise
  • Hasura Cloud

Prisma

  • Open Source version
  • Also available in managed format through AWS Marketplace

AWS AppSync

  • Only available as Cloud Tool through AWS
Auto-generated GraphQL operations

Yes

Query and Mutation operations are available once a schema has been deployed.

In our GraphQL explorer in the cloud dashboard, users can quickly create Queries and Mutations in the GUI. These can easily be exported to your favourite JavaScript platform including Apollo Client and Fetch.

Hasura

Once the GraphQL schema and backend database are connected, basic GraphQL operations are generated and ready to use.

Prisma

The Prisma Client API exposes the ability to perform CRUD operations within the platform.

AWS AppSync

AppSync can automatically create and connect resolvers from a schema or create a schema and connect resolvers from existing tables of data sources.

REST Endpoint Support

No

Hasura

“RESTified” APIs can be created. 

Prisma

No

AWS AppSync

No

Auto-generated Endpoint Documentation

Yes

Basic GraphQL documentation is automatically generated based on schema

Hasura

Yes, basic GraphQL documentation is automatically generated based on schema.

Prisma

Yes, basic GraphQL documentation is automatically generated based on schema.

AWS AppSync

Yes, basic GraphQL documentation is automatically generated based on schema.

Learning Curve

Minimal

Only knowledge required is how to write a GraphQL schema. With Cloud deployment, users are up and going with GraphQL in minutes.

Hasura

Since Hasura is only a GraphQL layer on top of a database, Knowledge of backend database technologies is a must. Once all components are configured, SQL schema is built and tracked, and then basic GraphQL operations are created. 

Prisma

Like Hasura, you'll also need database technology knowledge as well as knowing how to make your schema Prisma complaint to generate GraphQL operations. You'll also need to leverage the Prisma client and learn how it interacts with the objects generated by Prisma.

AWS AppSync

Familiarity with the AWS ecosystem is essential. Without knowledge of the other components of the AWS, there is a very steep learning curve for users. 

Custom Logic Support

Yes

Custom logic is supported through Dgraph Lambda using JavaScript and JSVM. Logic is applied directly through directives in the schema on applicable fields.

Hasura

Supports multiple ways varying in complexity including remote schemas, actions, and event triggers.

Prisma

Since Prisma is more focused as an ORM-style solution for GraphQL, it currently does not support custom logic to extend GraphQL capabilities.

AWS AppSync

ability to customize queries mutations, and subscriptions when the generated ones need to be extended.

Open Source

Yes

  • Apache 2.0. GitHub
  • Enterprise features are NOT Apache 2.0. But, users can still read the source
  • Dgraph open source version and enterprise version provide the same performance. They’re only different in that enterprise version has more features
  • Dgraph supports many open standards, like Grpc, Protocol Buffers, Go contexts, Open Census integration for distributed tracing

Hasura

Community Edition is under Apache 2.0

Enterprise features are not open source

Prisma

Covered under Apache 2.0

AWS AppSync

AppSync is not Open Source.

Get Started Today!

Dgraph gives you the scalability and performance you need with the pricing and transparency you expect. Start building today with the world’s most advanced and performant GraphQL platform.