MCPSERV.CLUB
Hasura GraphQL Engine

Hasura GraphQL Engine

Self-Hosted

Instant, secure APIs from any database

Active(100)
31.8kstars
0views
Updated 2 days ago
Hasura GraphQL Engine screenshot 1
1 / 2

Overview

Discover what makes Hasura GraphQL Engine powerful

Hasura GraphQL Engine is a real‑time, highly scalable API layer that transforms relational and non‑relational databases into a single GraphQL endpoint. From a technical standpoint, it parses the underlying database schema, automatically generates CRUD operations, and exposes them as strongly‑typed GraphQL queries, mutations, and subscriptions. The engine also provides fine‑grained permission models, remote schema stitching, and event triggers that enable developers to wire custom business logic without leaving the GraphQL world.

Core Runtime

Database Connectors

Eventing & Subscriptions

Remote Schema & Action APIs

Overview

Hasura GraphQL Engine is a real‑time, highly scalable API layer that transforms relational and non‑relational databases into a single GraphQL endpoint. From a technical standpoint, it parses the underlying database schema, automatically generates CRUD operations, and exposes them as strongly‑typed GraphQL queries, mutations, and subscriptions. The engine also provides fine‑grained permission models, remote schema stitching, and event triggers that enable developers to wire custom business logic without leaving the GraphQL world.

Architecture & Technical Stack

  • Core Runtime: Written in Go, the engine leverages Go’s concurrency model to serve thousands of simultaneous GraphQL requests with minimal latency.
  • Database Connectors: Native support for PostgreSQL, ClickHouse, MS SQL Server, and MongoDB is achieved through a modular connector framework. Each connector implements a Connector SDK that exposes the database’s capabilities to the engine, allowing developers to add new data sources in Go, Python, or TypeScript.
  • Eventing & Subscriptions: Real‑time updates are delivered via WebSocket (GraphQL subscriptions) and server‑side event triggers that can invoke HTTP callbacks, Go functions, or custom connectors.
  • Remote Schema & Action APIs: The engine can merge external GraphQL schemas and expose custom REST or gRPC endpoints through Actions, providing a unified API surface.

Core Capabilities

  • Automatic Schema Generation: One‑click mapping of tables, views, and relationships into GraphQL types.
  • Row-Level Security (RLS): Declarative permission policies written in SQL or GraphQL that enforce access control at the field and row level.
  • Event Triggers & Webhooks: Define SQL events that fire HTTP requests or Go functions, enabling serverless extensions.
  • Remote Schema Stitching: Combine multiple GraphQL services into a single gateway, allowing micro‑service composition.
  • Data Connectors SDK: Write custom connectors in Go, Python, or TypeScript to expose any data source as a GraphQL endpoint.

Deployment & Infrastructure

Hasura is designed for self‑hosting and containerization. It runs as a stateless service that can be deployed in Docker, Kubernetes, or on bare metal. The engine requires only a single database connection and an optional Redis instance for caching and event queueing. Horizontal scaling is achieved by running multiple replicas behind a load balancer; the engine’s internal state is persisted in the connected database, so any replica can serve requests. The Docker image is lightweight (~70 MB) and the binary is compiled for all major platforms.

Integration & Extensibility

  • Connector Hub: A catalog of open‑source connectors that can be dropped into the engine via a simple configuration file.
  • Action Handlers: Custom business logic can be implemented as HTTP services, Go binaries, or Python scripts that the engine invokes on demand.
  • Webhooks & Event Triggers: Seamlessly integrate with third‑party services (e.g., Stripe, Slack) or internal micro‑services.
  • Plugin System: While the core engine is minimal, developers can extend it by writing Go plugins that hook into the request pipeline or event system.

Developer Experience

Hasura’s declarative configuration files (hasura.yaml) and CLI tooling provide a smooth workflow: schema migrations, metadata exports/imports, and remote schema definitions are all version‑controlled. The documentation is comprehensive, with a strong emphasis on examples and best practices. Community support is vibrant—Discord channels, GitHub discussions, and a growing ecosystem of tutorials make troubleshooting straightforward. The open‑source license (Apache 2.0) removes vendor lock‑in, allowing full control over the deployment stack.

Use Cases

  1. Rapid MVPs – Spin up a GraphQL API in minutes, letting frontend teams iterate without backend delays.
  2. Real‑time Dashboards – Use subscriptions to push live analytics from PostgreSQL or ClickHouse to web clients.
  3. Micro‑service Orchestration – Stitch together disparate GraphQL services and expose them as a single API.
  4. Event‑Driven Workflows – Trigger downstream services via event triggers when database rows change, enabling serverless pipelines.
  5. Legacy System Modernization – Wrap existing relational or NoSQL databases with a GraphQL layer, preserving legacy data while offering modern APIs.

Advantages

  • Performance: Go runtime and compiled queries deliver sub‑millisecond latency.
  • Flexibility: Supports multiple database types and custom connectors, avoiding a single‑vendor dependency.
  • Security: Built‑in RLS and permission policies reduce the attack surface compared to custom REST layers.
  • Licensing: Apache 2.0 permits commercial use without royalties, making it attractive for enterprise deployments.
  • Community & Ecosystem: Active open‑source community, extensive documentation, and a rich set of connectors lower the barrier to entry.

In summary, Hasura GraphQL Engine offers developers a high‑performance, extensible, and secure API layer that abstracts database intricacies while providing powerful real‑time capabilities. Its self‑hosted nature, coupled with a modular architecture and strong community support, makes it a compelling choice for modern application development.

Open SourceReady to get started?

Join the community and start self-hosting Hasura GraphQL Engine today

Weekly Views

Loading...
Support Us

Featured Project

$30/month

Get maximum visibility with featured placement and special badges

Repository Health

Loading health data...

Information

Category
development-tools
License
APACHE-2.0
Stars
31.8k
Technical Specs
Pricing
Open Source
Database
Multiple
Docker
Official
Supported OS
LinuxDocker
Author
hasura
hasura
Last Updated
2 days ago