🚀 Fauna Architectural Overview White Paper: Learn how Fauna's database engine scales with zero ops required
Download free ->
Fauna logo
FeaturesPricing
Learn
Customers
Company
Support
Log InContact usStart for free
Fauna logo
FeaturesPricing
Customers
Start for free
© 2024 Fauna, Inc. All Rights Reserved.
<- Back
schema ga 2

Announcing General Availability of Fauna Schema

Bryan Reinero  & Wyatt Wenzel|Oct 21st, 2024|

Categories:

NewsFeaturesSchema

We are thrilled to announce the general availability of Fauna Schema, a comprehensive suite of features that allows development teams to define, progressively type, enforce, and evolve their database schema as their business needs grow. Fauna Schema combines the structure of relational databases with the flexibility of a document model, allowing seamless schema evolution without the disruptions or inconsistencies typical of traditional relational or document databases.

“Fauna's Schema capabilities unlock powerful optionality for evolving and enforcing our database schema over time,” shared Cameron Bell, Head of Software, Systems, & Data at Connexin. “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.”

Below is a brief description of the Fauna Schema functionality now in general availability. For a deeper dive into these features, please visit the Fauna Schema overview blog or explore the docs.

Fauna Schema Language

With Fauna Schema Language (FSL), define your schema as code in human-readable language, manage schema versions alongside your application code, and integrate schema changes into your CI/CD pipeline.

Types & Enforcement

Define and enforce the structure of your data with flexible and powerful features that ensure that your data conforms to expected formats and business rules, allowing you to maintain consistency, validate critical logic, and dynamically generate or update field values at query time—all while enabling progressive schema enforcement as your application evolves.

  • Document Types: Define the structure of your data with fully defined field types, ensuring consistency across your collections while maintaining flexibility.
  • Wildcard Constraints: Allow ad hoc fields within documents while controlling their data types. Wildcard constraints give you the flexibility to introduce new fields dynamically, allowing for schema evolution without rigid enforcement.
  • Computed Fields: Dynamically generate values for fields based on user-defined expressions. Computed fields are evaluated at query time, allowing for flexible query patterns and real-time data composition.
  • Check Constraints: Ensure that data meets specific business logic or rules, such as restricting numeric values to a certain range or ensuring field values meet specific conditions, enhancing data integrity at the database level.

Zero-Downtime Migrations

Zero-downtime migrations allow you to evolve your schema without service interruptions. Migrate existing documents seamlessly in the background, maintaining uptime and operational continuity.

  • Staged Schema: When schema changes involving index builds, Fauna begins building those indexes in the background, without affecting the live schema. When the builds are complete, users commit the staged schema instantaneously to the live state, replacing the previous schema with no downtime.

Get Started with Fauna Schema

Explore the Fauna docs and the 'Progressively enforce a document type tutorial’ to learn more about how Fauna Schema can accelerate your development workflows and support your application requirements. Be sure to join the Fauna Discord or reach out to a Fauna expert if you have any questions!

If you enjoyed our blog, and want to work on systems and challenges related to globally distributed systems, and serverless databases, Fauna is hiring

Share this post

TwitterLinkedIn

Subscribe to Fauna's newsletter

Get latest blog posts, development tips & tricks, and latest learning material delivered right to your inbox.

<- Back