Rebase gegen Hasura
Hasura erzeugt eine GraphQL-API und eine Konsole, um sie zu bauen. Rebase erzeugt REST, ein typisiertes TypeScript-SDK und ein Admin-Panel, in dem dein Betriebsteam arbeiten kann — aus derselben Collection-Definition, und seine Berechtigungen kompilieren zu Postgres-Policies statt zu Metadaten, die die Engine anwendet.
Eine API, und dann?
Wo es wehtut
Hasura konzentriert sich auf die API-Schicht. Es erzeugt schnell GraphQL und gibt deinen nichttechnischen Kolleginnen nichts — das Back-Office bleibt deine Aufgabe oder etwas, das du bei einem Internal-Tool-Builder mietest.
Was Rebase stattdessen macht
Rebase erzeugt die API-Schicht und die Anwendungsschicht aus derselben Datei.
- REST-Endpunkte und ein typisiertes SDK, aus deinem Postgres-Schema erzeugt.
- Rebase erzeugt außerdem Rebase CMS — ein React-Admin-Panel mit Bearbeitung, Auditing und Dashboards — aus derselben Definition.
Wo die Geschäftslogik läuft
Wo es wehtut
Geschäftslogik in Hasura auszuführen — einem Stripe-Kunden beim Einfügen einer Zeile etwas zu berechnen — heißt Actions oder Event Triggers, und das heißt, einen separaten Server aufzusetzen und zu pflegen, der die Webhooks empfängt.
Was Rebase stattdessen macht
Rebase ist ein einziges Node.js-Backend.
- Deine Geschäftslogik läuft im selben Prozess wie die generierten Endpunkte.
- Kein Netzwerksprung für einen internen Trigger und keine Webhook-Konfiguration, die synchron bleiben muss.
- Ein TypeScript-Repository, ein Deployment.
Nicht wechseln
Wann du bei Hasura bleiben solltest
Wenn GraphQL die Produktentscheidung ist, wenn du mehrere Datenquellen hinter einem Graph föderieren musst, oder wenn deine Clients schon Code aus einem GraphQL-Schema generieren. Das ist Hasuras Heimspiel.
Rebase und Hasura, beantwortet
REST oder GraphQL?
Rebase erzeugt eine REST-API und ein typisiertes TypeScript-SDK; Hasura erzeugt GraphQL. Ist GraphQL eine Anforderung — ein föderierter Graph, Clients, die davon abhängen, ein bestehendes, über Dienste zusammengesetztes Schema — ist Hasura dafür gebaut und Rebase nicht. Wolltest du vor allem eine gute API über Postgres, ohne sie zu schreiben, bringt dich das typisierte SDK mit weniger Maschinerie dazwischen dorthin.
Kann Rebase auf einer Datenbank laufen, die Hasura schon bedient?
Ja. Beide richten sich auf eine bestehende PostgreSQL-Datenbank, statt sie zu besitzen — dasselbe Schema kann beide tragen, während du evaluierst. Hasuras Metadaten liegen in einem eigenen Schema und bleiben unangetastet.
Wie vergleichen sich die Berechtigungen?
Hasuras Berechtigungssystem wird in seinen Metadaten definiert und von der Engine beim Bau jeder Query angewendet — mächtig und gründlich entworfen. Rebase kompiliert Zugriffsregeln zu PostgreSQL-Row-Level-Security, die Durchsetzung passiert also in der Datenbank und übersteht jeden Client, auch solche, die nie durch Rebase gehen. Der Trade-off ist Ausdrucksstärke gegen Reichweite.
Was fügt Rebase hinzu, das Hasura nicht hat?
Ein Admin-Panel, das deine nichttechnischen Kolleginnen benutzen können, erzeugt aus denselben Definitionen wie die API. Hasuras Konsole ist ein Entwicklerwerkzeug, um den Graph zu bauen und zu inspizieren; sie ist kein Back-Office und will keines sein. Wenn du vorhattest, eine interne Oberfläche auf Hasura zu bauen, ist das das Stück, das Rebase mitbringt.
Wann ist Hasura die bessere Wahl?
Wenn GraphQL die Produktentscheidung ist, wenn du mehrere Datenquellen hinter einem Graph föderieren musst, oder wenn deine Clients schon Code aus einem GraphQL-Schema erzeugen. Das ist Hasuras Heimspiel.
Muss ich Rebase selbst hosten?
Nein. Hoste es selbst, und dir gehören die Daten, der Code und die Maschine, auf der es läuft — das ist die Voreinstellung und wird voll unterstützt. Oder deploy dasselbe Projekt auf Rebase Cloud, das heute mit echten Tenants läuft und während der Private Beta in Wellen öffnet, abgerechnet pro Ressource statt pro Sitz. Dein Code ist in beiden Fällen identisch; Hosting ist ein Deployment-Ziel, keine Abzweigung.
Glaub uns nicht einfach.
Der Vergleich, der zählt, ist der, den du selbst machst. Richte Rebase auf ein Postgres, das du schon hast, und sieh, wie es sich neben Hasura hält.