Skip to main content
Version: v3.x beta

Hasura FAQ

What is the general architecture of Hasura DDN?

Hasura DDN is built on the major advancements made in Hasura Version 3:

Hasura Runtime Engine: The Hasura Engine is responsible for processing and serving APIs based on provided metadata. In DDN, the engine is serverless by default and there is a clear separation of build time and runtime concerns which is analogous to compiled programming languages. Metadata can now be authored, edited and built declaratively without causing any downtime. The new engine can also serve production-grade APIs from the edge with extremely high performance since it accesses metadata on a per-request basis and benefits from vastly improved startup times. Essentially the cold start problem has been removed in DDN leading to zero-downtime rollouts.

Native Data Connector (NDC) Specification: The NDC specification describes how the API request will be executed and how the engine will interact with the underlying data source and is a new data connectivity specification from Hasura. In DDN, there is now no concept of "native databases" and access to all data sources and functionality including PostgreSQL will be based on the native data connector specification, implemented via Connectors. This helps in providing rich feature sets for all data sources as compared to just a few select ones. Moreover, there is now a strong focus on enabling the community to build data connector agents themselves. The specification and provided Rust and Typescript SDKs support building high-quality integrations for almost any conceivable data source (both databases and APIs), offering features like native queries, push-down capabilities, and connection pooling. Learn more.

Supergraph: A supergraph is an architecture and operating model to build and scale multiple data domains (or subgraphs) as a single graph of entities and operations.

Subgraphs: Subgraphs introduce a module system for metadata. They allow multi-team organizations working on a Hasura project to segment access to different metadata objects. A project's metadata is the amalgamation of metadata objects from all its subgraphs, and each subgraph can be accessed and updated independently. It also helps in avoiding conflicts when there are, for example, tables with the same names in different data sources. Learn more

Hasura Cloud: The cloud layer in Hasura DDN, Hasura Cloud, introduces the Data Delivery Network (DDN) for global API performance and availability. This layer also offers tools for managing projects, builds, subgraph and essentially represents the control plane for Hasura DDN.

Hasura CLI: The new Hasura CLI (Command-Line Interface), serves as a powerful tool for developers to interact with the Hasura platform. It allows users to initialize projects, manage metadata, track objects, create builds, and deploy data connectors that service an API in the cloud, easily. Learn More

Hasura Console: The Hasura Console has been revamped to enable rapid onboarding, testing and troubleshooting. The console now provides rich visualizations, deep dive metrics into models, enhanced traces, the new GraphiQL API explorer, new operational health dashboard and a refurbished data manager that scales seamlessly with heavy loads. Learn More

Builds: Each metadata change in Hasura now results in an atomic build which is represented by an immutable artifact that is loaded onto Hasura DDN instantly. Which means there is inherent version control and the ability to push metadata changes instantly and without errors. Learn more

What will be the benefit for me, the developer? (Why would I want to use or switch to DDN?)

  • Significant improvements to metadata authoring and management.
    • And end to the cold-start problem and instant changes to metadata. Deploy multiple times in an hour. Deploy with lightning speed and sub-second CI/CD.
    • No dependency on upstream services which means zero-downtime deployments.
    • Code driven workflows with advanced code generation tooling.
    • A single spec to define your whole API across diverse data sources and business logic.
    • Declarative metadata authoring with full control on API schema generation.
    • No metadata database - one less thing to manage in production.
  • Connect to any data or run any business logic with Native Data Connectors (NDCs).
  • Compose all your data sources, APIs and information into a single, powerful, inter-related supergraph.
  • Work better with your team with improved version control and collaboration features.
  • Unparalleled performance at any scale with optimized query execution and caching mechanisms.
  • Serverless runtime for improved efficiency and reduced latency.
  • Access a global edge network for low-latency, high-performance APIs with the Data Delivery Network (DDN).
  • Bring the programming language of your choice such as Typescript to compose business logic
  • Perform advanced mutations and workflows within the request response lifecycle.

What CI/CD features does Hasura DDN offer?

Instant CI/CD: Hasura brings instant CI/CD capabilities, enabling developers to test and validate changes rapidly.

CLI-Controlled Development: The Hasura Command-Line Interface (CLI) plays a central role in controlling and managing metadata builds and connector deployments. It allows developers to manage projects, create builds and promote them to production. This CLI-centric approach simplifies the deployment process and enables time-saving CI/CD pipelines. Learn more

Builds and Project Shares: With Hasura, metadata states are represented as builds. Once a build is thoroughly tested and validated, it can be applied to a project as the live API and made available to API consumers globally. This separation of build and production steps ensure a smoother transition from development to production.

Extremely Fast Builds: Hasura also introduces cloud innovations that allow metadata builds to be created instantly, regardless of the number of models. This means that updating even a large number of models is a swift and seamless process and developers can rapidly test multiple builds within a day.

Zero Downtime Rollouts: With Hasura, going to production is facilitated without restarts and with zero downtime. This ensures that your API remains available to users while updates are being applied.

Metadata Version Control: Hasura includes in-product metadata version control. Each build is associated with a unique build ID, making it easier to track and manage different versions of your metadata. This enhances transparency and auditability during the development process.

What can be automated?

Since metadata authoring is mostly code driven using the new LSP and the CLI, many metadata related changes can be automated using a version management and CI/CD tool of your choice.

How does Hasura DDN connect to data sources?

Native Data Connectors (NDC) are a framework introduced in Hasura DDN that enables developers to use pre-built data connector agents or build their own.

You can think of Data Connectors as a bridge or driver between Hasura DDN and external data sources.

Data Connectors facilitate the integration between Hasura and external data sources, allowing Hasura to seamlessly interact with a wide range of databases, services, and APIs. NDCs can be built for almost any conceivable source of data and are the only way to connect to data sources in Hasura DDN.

Native Data Connectors can either be self-hosted or hosted by Hasura. Learn more

I just have a database, why do I need to know about Data Connectors?

Essentially, you don’t. You can rely on our LSP to do much of the code generation and validation, but with knowledge of Data Connectors you will better understand your Supergraph architecture and you can build custom integrations to any data source or custom function or API.

If you're interested in this you can check out our Rust or Typescript SDKs, and also our Node.js Lambda Typescript Connector.

Is Hasura DDN open source?

The Hasura DDN engine and all Hasura data connectors are open-source and can be run on your own infrastructure. With the optimizations and features that Hasura DDN offers at the price point, our cloud service is the best way to use Hasura and self-hosting should be an option when specific requirements are needed and enterprise policies dictate.

What is the pricing structure for DDN?

Check out the pricing page here. Hasura DDN Pricing

What is the timeline for Hasura DDN? (When is v3 coming out?)

Hasura DDN Beta is now publicly available, and we will continue to add features and listen to feedback from our community. We are expecting Hasura DDN to come out of beta and hit General Availability within the first half of 2024. For the most up-to-date information on the timeline, we recommend referring to our official announcements and releases.

What does beta release mean?

The beta release is ready for production. It is best used for read-only workflows. Mutations and business logic are production ready via the Node.js Lambda Connector. We are continuously adding new features to achieve full feature parity with Hasura version 2 soon.

The recommended approach is to start via the CLI and the CLI quickstart command. This will create local directory and file and directory scaffolding for you after which you can further author metadata using our VS Code extension. The console is intended to tool and for running queries, visualization and monitoring.

We expect most metadata management will happen via the code driven tools that we have in DDN. We are investing in extensive code generation capabilities via the Language Server Protocol baked into the IDE tools and users will still get to enjoy the quick authoring experiences of v2 such as that of permission building, outside the console.

Authoring metadata looks hard, how can I get started?

The Hasura LSP (Language Server Protocol) plugin for VSCode and other editors will help you get started with authoring. It includes autocomplete, validations, code actions and go-to-definition features.

Why don’t you have a container I can download?

Hasura DDN leverages a range of cloud services to offer comprehensive features and advanced innovations. We are committed to delivering optimum value to our users with the benefits offered by a cloud-first approach.

I’m operating in a given cloud provider region. How can I have Hasura run in the same region?

Hasura DDN is strategically deployed in 10 regions worldwide. (We plan to increase coverage drastically as we move closer to Beta and beyond) Depending on the origin of a request, we automatically activate an instance of Hasura in the nearest region. This process is completed in under 10 milliseconds, ensuring consistently optimal performance, closest to your users.

Will Hasura DDN be compatible with Hasura v1/v2?

The default generated GraphQL schema (ie: the API your consumers use) of Hasura DDN is compatible with v2 schemas and will not change. However, Hasura DDN uses a completely new metadata structure and hence will require migration tools to move metadata from v1/v2 metadata. Please keep an eye on our official announcements and releases for upcoming information about migration tools.

Will Hasura v2 be supported after Hasura DDN is released?

We will still support, maintain and improve Hasura v2 as per our version support policy and will be providing migration tools to move Hasura v2 deployments to DDN in the near future.

If I have an Alpha DDN project, will it be compatible with the Beta release?

No, you’ll need to create a new project.

What is the difference between how Hasura v2 and DDN metadata is handled?

In practical terms, the Hasura v2 metadata system was designed to draw extra information directly from the data source, specifically details such as columns and fields.

This meant that whenever the Hasura GraphQL Engine was initialized, it had to probe or "introspect" the data source's schema to create a GraphQL schema. This introduced delays at start-up especially if the data source was large or if there were network issues.

Hasura v3 Metadata operates differently as it is inherently self-contained and exists independent of any data source. This leads to instant startup and build times and ensures consistency as the system is no longer polling an underlying data source for schema information which may have changed.

This means your metadata has full coverage, and details like fields and their respective types are predefined and embedded within it. This design choice removes the need for the system to check the data source schema every time during startup to shape a GraphQL schema. Instead, this introspection or probing of the data source's structure is now carried out during the metadata creation, or build phase. This leads to massively improved startup times and ensures that the metadata is consistent and self-contained.

Will Hasura continue supporting existing plans, specifically, the Cloud Free and Professional plans?

Yes. We are committed to maintaining & supporting the Free and Professional plans to ensure there is no disruption to our users.

I heard DDN is built in Rust. Why Rust over Haskell?

We have a lot of love for Haskell. It's a beautiful language that we have been using for the Hasura engine since the beginning, and will still be using it on Hasura v2. Without going into the weeds in a FAQ, we wanted to benefit from Rust's performance, ecosystem and community for DDN. Rust is a modern, high-performance, and memory-safe language. It is also gaining much traction in the cloud-native space, and we are excited to be using it for the significant parts of the Hasura DDN codebase. If you are a Rust developer and want to do cool stuff, please check out our careers page.

How do I migrate from v1/v2 to DDN? (What would be the experience of bringing graphQL APIs in v3?)

We will provide a low-code migration tool for you to quickly port over to DDN in the coming months. Please keep an eye on our official announcements and releases for upcoming information about migration tools.

If currently running a v2.x will it be moved automatically to v3?

No, it will not. The v2 cloud projects will remain untouched and there will be no change of business. Moving to DDN will be an opt-in process. Having said that, we strongly encourage upgrading to DDN early when features you require are available. Our teams are available to make the migration process as smooth as possible and please keep an eye on our official announcements and releases for upcoming information about migration tools.

Can we request to lock ourselves to 2.x?

The migration is an opt-in process, so you do not need to request to have yourselves locked to a particular version. If however, you see no upgrade path even in the next two years, please give us a heads-up and we will work out options with you.

What is the migration path for the v2 Remote Schemas feature in v3?

The way to utilize remote schemas in DDN has changed from v2. However, we will make sure that the developer experience is the same or better than it is in v2 and will provide migration guidance for this use-case in the coming months.

Will Event and Scheduled Triggers be supported in Hasura DDN?

Yes they will be but the developer experience will change. We are still in the design phase for this and will provide more details in the coming months.

Will Actions be supported in Hasura DDN?

If you mean business logic and API integration then yes but there is no concept of 'Actions' in Hasura DDN. In Hasura DDN Beta you can now use Typescript directly for 'Action-like' functionality. What is better is that now you can host your Action webhooks/functions on Hasura itself. Moreover, we will be scaling support to most other popular languages such as Java, GoLang, Rust, Python and more. Check out the Node.js Lambda Connector for more information.

Will Remote Schemas (external GraphQL APIs) be supported in Hasura DDN?

Yes, but there will not be a tab in Console or metadata object represented for Remote Schemas. All external GraphQL APIs, previously known as Remote Schemas, will be utilized via Native Data Connectors. We will provide generic connectors or connector SDKs so that you can bring in external GraphQL APIs in the low-code manner you are used to in v2.

Will mutations be supported in Hasura DDN?

Yes, of course, but the developer experience of configuring mutations will change. Please stay tuned for more details.

What are the main changes to the Hasura Console?

There has been a complete redesign of the Hasura Console with new panels for visualization and operational health. We have totally revamped the GraphiQL and Data Manager tabs and have implemented all new settings panel.

Moreover, there is no longer the concept of an admin secret in Hasura DDN. In fact, we will auto generate a Personal Access Token (PAT) which will provide the previous admin secret functionality.

Will v3 have a data manager in the console?

Yes. A better version which can scale with large datasets and be used for many types of databases and not only PostgreSQL. Please stay tuned for more details.

What about database migrations?

Database migrations are deprecated. We will soon provide a generated SQL file that you can use in an ORM tool of your choice but this is not yet implemented. We are open to any feedback on this product strategy. Do let us know about your pain point, and we can recommend a solution that works best for you.

Is a Hasura DDN API faster than a Hasura v2 API?

Yes. Hasura DDN includes significant performance improvements compared to its predecessors. The optimizations implemented in Hasura DDN aim to provide faster response times and improved scalability, ensuring a smooth and efficient experience for your applications and users. We will be releasing detailed performance benchmarks in the coming months.

Loading...
Loading...