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.