Skip to main content
Version: v3.x

Getting Started

Introduction

Hasura combines multiple data sources and logic into a single, inter-related and high-performance GraphQL API.

The entire API is defined in metadata with a YAML extension called Hasura Metadata Language (HML).

Supergraphs and subgraphs

The collection of these metadata objects together is known as a supergraph and is separated into logical, self-contained sections called subgraphs.

Immutable builds and the Hasura Engine

A valid supergraph is compiled into an immutable build, which powers the resultant API. The API build is run by the Hasura Engine and can be hosted on the Hasura DDN (Data Delivery Network).

Configuring data connectors

Within subgraphs, data connectors are configured to facilitate the connection and communication with any kind of data source, (databases, APIs, business logic functions, etc.). Data connectors are separate, decoupled, standalone pieces of software from the Hasura Engine and are authored by Hasura, the community, or you can build your own.

Configuring subgraphs

Subgraphs contain configuration for all aspects of their functioning, including data types, data models, commands (think functions) data access permissions, relationships across data, and configuration for the supergraph itself.

Development lifecycle for subgraphs

Subgraphs can correspond to distinct data sources, or to a specific data domain. They have their own development lifecycle and allow different teams to work on different parts of the supergraph at the same time without stepping on each others' toes.

Tools for authoring, managing, and exploring your API

Hasura DDN includes the Hasura CLI, which is used to create and manage all aspects of your project as well as a plugin for IDEs which help you author and validate your metadata objects.

Hasura DDN also includes a console — our GUI — for querying the API as well as a visual explorer for browsing the supergraph, it's subgraphs and the data sources which connect to them. On the console you're also able to track and trace the performance of your API.

Next steps

We recommend you start by exploring a finished API. However, if you're eager to jump into it, you can start by creating your very own supergraph here.

Loading...