Open Source GraphQL Engine Launched |
Written by Kay Ewbank |
Wednesday, 11 July 2018 |
An open source GraphQL Engine has been launched that can be used with applications based on Postgres without the need for backend GraphQL processing code. The new GraphQL as a service can be used by front-end developers to build scaleable GraphQL apps on Postgres. Hasura’s GraphQL Engine automates the implementation and linking of databases to the graph. The APIs can be used to choose tables from new or existing database for use with GraphQL and link those existing tables into a graph. The engine has built-in authorization and authentication with granular authentication and a dynamic access control system that integrates with existing authentication systems such as Auth0 or custom implementations. The engine is also lightweight, consuming only 50MB of RAM even while serving more than a thousand requests per second.
The Hasura platform’s data microservice provides a HTTP API to query Postgres using GraphQL or JSON that lets you make use of foreign key constraints in Postgres to query hierarchical data in a single request, and the queries can traverse tables to an arbitrary depth. The query interface combined with permissions lets front end applications query Postgres without writing any back end code. A query made to the data microservice first goes through authorization checks at the gateway. User ID and role headers are added, and the query is then passed via proxy to the data service. This receives the request, parses the headers to get the user ID and role, and parses the body into a GraphQL AST. The query is then validated for semantic correctness, and the permissions are enforced. It is then converted to a SQL statement and is executed on Postgres. Finally, the result from Postgres is processed and sent to the client.
The developers of Hasura say their GraphQL servers are like self-documenting APIs that enable full API discoverability for the developers. Tanmai Gopal, Co-founder and CEO of Hasura noted: “We’re thrilled to open source Hasura’s GraphQL Engine to further ease the adoption of GraphQL. The GraphQL community can harness our lightweight GraphQL-as-a-Service engine and turbocharge any of their new or existing Postgres applications." While this release focuses on Postgres, the plan is to add support for other databases in the future.
More InformationRelated ArticlesGraphcool Eases Your Way Into GraphQL PostgreSQL Improves Declarative Partitioning PostgreSQL Adds Parallel Query Support PostgreSQL Plus Cloud Database To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.
Comments
or email your comment to: comments@i-programmer.info |
Last Updated ( Wednesday, 11 July 2018 ) |