Hasura stellt eine GraphQL-Engine für PostgreSQL zur Verfügung

Die Hasura GraphQL Engine soll die Abfragesprache GraphQL in PostgreSQL-Datenbanken einfach nutzbar machen.

In Pocket speichern vorlesen Druckansicht
Hasura stellt eine GraphQL-Engine zur Verfügung

(Bild: Hasura)

Lesezeit: 2 Min.
Von
  • Björn Bohn

Die indische Firma Hasura hat die Hasura GraphQL Engine quelloffen zur Verfügung gestellt. Mit ihr sollen Entwickler GraphQL-APIs in PostgreSQL-Datenbanken nutzen können, ohne Backend-Code dafür schreiben zu müssen. Damit will Hasura auf die größer werdende Popularität von GraphQL reagieren und die Abfragesprache einfach für Postgres-Nutzer einsetzbar machen.

Mit der Engine sollen Entwickler neue Applikationen auf Basis von GraphQL bauen können oder bereits bestehende Apps dorthin migrieren können. Sie verfügt über ein User Interface, mit dem Nutzer Tables für ihre Datenbank ansehen und erstellen können. Außerdem ist es möglich, GraphQL Queries mit dem integrierten GraphQL-Interface abzusetzen.

Das GraphQL-Interface der Hasura-Konsole

(Bild: Hasura)

Darüber hinaus verfügt die Engine über ein granuläres, dynamisches Zugriffskontrollsystem, das sich mit bereits existierenden System wie Auth0 integriert. Sie soll Frontend-Entwicklern außerdem die direkte Möglichkeit für Postgres-Queries ohne Backend-Code bieten. Hasura spricht davon, dass die Engine beim Einsatz auf der Plattform Heroku lediglich 50 MByte RAM verbraucht – auch bei bis zu 1000 Requests pro Sekunde.

Das Projekt ist vollständig auf GitHub verfügbar. Die Macher stellen sowohl einen kostenlosen Schnellstart für die Plattform Heroku als auch plattformunabhängige Docker-Container zur Verfügung.

GraphQL ist eine von Facebook entwickelte API-Abfragesprache, die einige Softwareentwickler als Alternative zum REST-Programmierparadigma (Representational State Transfer) betrachten. Bei GraphQL formulieren Client-Entwickler Queries in einer JSON-ähnlichen Form. Die Abfragesprache versucht dabei, Queries ohne unnötige Server-Roundtrips abzuwickeln. (bbo)