🚀 White Paper: From Document to Document-Relational Databases - How Fauna’s Document-Relational model addresses the limitations of traditional document databases
Download Free
Fauna logo
Product
Solutions
Pricing
Resources
Company
Log InContact usStart for free
Fauna logo
Pricing
Customers
Log InContact usStart for free
© 0 Fauna, Inc. All Rights Reserved.

Fauna Database Schema: Build, iterate and evolve with zero downtime

Develop seamlessly across the schema spectrum, from flexible to full enforcement

REQUEST A DEMOVIEW DOCUMENTATION

Introduction to Fauna Schema

Explore Fauna’s robust Schema features including the Fauna Schema Language, types & enforcement, and zero-downtime migrations in this introductory video.

WATCH VIDEO

Define & Manage Schema Alongside Application Code

Leverage Fauna's declarative schema language to define and manage database components seamlessly alongside your application codebase. Articulate complex models with precision, eliminating management overhead and enhancing the clarity and consistency of data structures across the development lifecycle.

“Fauna is the reason we are still in business. There is not enough good stuff I can say about the folks over there.” Read case study

Alice

From Wonderland

Progressively Type and Enforce Schema 

Encode sophisticated business logic directly within the database as an element of a schema design using user-defined functions and computed fields. Meanwhile, fully define rich document structures with document types that can progressively enforce schema over time. Together, these features provide the structure and reliability of traditional relational databases with the flexibility of a modern document model.

Evolve Schema with Zero Downtime Migrations

With Fauna, schema migrations can be scripted and versioned as code, allowing developers to seamlessly align database schema changes with their CI/CD pipelines. This ensures that migrations are predictable, manageable, and integrate smoothly within existing development workflows.

Capabilities

Fauna Schema Language

The Fauna Schema Language (FSL) defines domain models, access controls, and user-defined functions in human-readable files managed as code in your repository of choice. Utilize Fauna’s Schema as Code approach to collaborate on schema design, automate schema changes in your CI/CD pipeline, and fully incorporate database development into your DevOps methodology.

READ THE DOCS

Document Types

Fauna enables in-database schema definition and enforcement, as relational databases do, with the expanded ability to dial in the level of enforcement appropriate to your application. Document Types support both static and dynamic typing, enabling development teams to start with a flexible schema, and introduce stricter type controls as application requirements evolve. This gradual typing system supports a flexible yet controlled approach to data integrity.

READ THE DOCS

Zero Downtime Migrations

Safely deploy schema changes without service interruptions. Fauna's zero downtime migration system applies schema definitions transactionally, and prohibits schema changes that conflict with the underlying data. Expressed in FSL, zero downtime migrations can be deployed successively to your development, test, staging, and production environments, assuring database changes are reviewed and well tested before deployment to production.

READ THE DOCS

Check Constraints 

Check constraints ensure that data written to a database adheres to specific business logic (such as ensuring a bank account never falls below zero), especially valuable for applications that require strict data validation to maintain data integrity and without having to encode these checks in your application.

READ THE DOCS

Computed Fields 

Computed fields enable you to accurately define your true data model in the database, as they express the ‘has-a’, ‘has-many’ associations which historically had to be defined in mapping layers running outside of databases. Define cross-collection joins and subqueries as an element of your schema design, so you can dynamically generate data, and object models in real-time.

READ THE DOCS

Schema Flexibility 

Start with a schemaless design for rapid prototyping and iterate towards a more structured schema as your application matures. This flexible approach reduces initial barriers and adapts to changing development needs.

READ THE DOCS

Build Applications with Confidence

Evolve Database Schema 

Fauna schema allows you to start schemaless and gradually enforce schema rules as your application evolves. For instance, a retail application may begin with a flexible schema to quickly bring a new feature to market or easily import new datasets, but can enforce product and customer data structures to ensure data integrity and improve query performance over time. 

Centralize Domain Model 

Uniquely express your entire domain model within the database, making it the single source of truth for your application. Instead of having your domain defined across disparate code blocks, ORM configurations, and database schemas, Fauna schema allows you to centralize and manage your domain model seamlessly. This centralization ensures consistency, reduces errors, and streamlines the development process, providing a clear and cohesive structure for your application.

Ensure Data Consistency 

Leverage document type enforcement to maintain data consistency across your application. For example, in a healthcare application, you can introduce schema rules that ensure patient records contain required fields like patient ID, diagnosis, and treatment plans, reducing the risk of data errors and ensuring compliance with healthcare regulations.

Implement Business Logic Natively

Fauna's user-defined functions, check constraints, and computed fields allows teams to implement business logic at the database level. In a finance application, for example, you can create constraints to ensure that transactions are only processed if account balances meet certain criteria, preventing overdrafts and maintaining financial integrity.

Optimize Query Performance

Enforcing schema rules in Fauna can optimize query performance by ensuring that data is structured predictably. In an e-commerce platform, enforcing schemas for product categories, prices, and inventory levels can streamline queries for faster search results and better user experience.

From Document to

Document-Relational Databases

Explore the history and benefits of document models, the challenges they pose, and how Fauna's document-relational database overcomes these challenges.

DOWNLOAD NOW

“Fauna's schema capabilities unlock powerful optionality for evolving and enforcing our database schema over time. These features enable us to dial-in and dial-out schema as our applications evolve and adapt to changing business requirements without compromising data integrity or business operations.”

Cameron Bell, Head of Software, Systems, & Data

Get started building with Fauna

Explore resources that can help get you up and running in minutes.

Sign up

Ready to build robust apps that scale without limits? Start today.

Start free trial

Quick start

Get up and running quickly with an interactive introduction to Fauna

GET STARTED

Multi-tenant SaaS Sample App

Learn how to build a multi-tenant, multi-region SaaS app without ops using Fauna and AWS

BUILD THE SAMPLE APP

New to Fauna Query Language?

This guide can help you get started with FQL in under 10 minutes.

READ MORE

Workshops

Learn how to build complete applications using technology like AWS, Cloudflare, and more.

EXPLORE THE WORKSHOPS

FAQs

Have other questions? Feel free to contact us, or browse our documentation.

CONTACT USVIEW DOCUMENTATION

What is event streaming in Fauna?

Can I filter the types of updates I receive from an event stream?

How does Fauna's event streaming handle network disruptions or disconnections?

Are there any limitations on the number of streams I can create?

Can event streaming be used for collaborative applications?

What security measures are in place for event streaming?

Get started building with Fauna

Explore resources that can help get you up and running in minutes.

Sign up

Ready to build robust apps that scale without limits? Start today.

Start free trial

Quick start

Get up and running quickly with an interactive introduction to Fauna

GET STARTED

Schema Guide

Get started building schema in Fauna with this quick-start guide that walks you through progressive enforcement of schema.

START THE TUTORIAL

New to Fauna Query Language?

This guide can help you get started with FQL in under 10 minutes.

READ MORE

Workshops

Learn how to build complete applications using technology like AWS, Cloudflare, and more.

EXPLORE THE WORKSHOPS

FAQs

Have other questions? Feel free to contact us, or browse our documentation.

CONTACT USVIEW DOCUMENTATION

How does Fauna ensure data integrity with schema changes?

Can I start with a schemaless design and transition to a schema-enforced model?

Do I have to activate schema enforcement in order to use it?

How does Fauna integrate with existing CI/CD pipelines?

Ready to get started?

Launch a new app, modernize an existing app, and scale seamlessly across regions with Fauna.

REQUEST DEMOSTART FOR FREE
START FREE TRIALGET A DEMO

Ready to get started? Launch a new app, modernize an existing app, and scale seamlessly across regions with Fauna.

START FREE TRIALGET A DEMO

Ready to get started? Launch a new app, modernize an existing app, and scale seamlessly across regions with Fauna.

LEARN MORE

Blog