An Introduction to FaunaDB

Chris Biscardi
InstructorChris Biscardi

Share this video with your friends

Send Tweet
Published 3 years ago
Updated a year ago

FaunaDB is a Calvin inspired hosted database marketed towards JAMStack and serverless users. It is geo-replicated across multiple providers (AWS, GCP, and soon Azure), uses a lambda calculus based query language (FQL) or the built-in GraphQL support, and is quick to get started with. Don't worry about the vocabulary here (Consistency, lambda calculus, etc), FaunaDB can be quickly put to work without reading any papers and without knowing what lambda calculus is.

Chris Biscardi: [00:00] Fauna is built as a globally distributed, serverless, cloud database management system of modern applications, like those on the JAMstack. What this means is that FaunaDB is a document store, with a lambda calculus based query language called FQL, and native GraphQL support. It is similar to Spanner, and inspired by Calvin.

[00:22] Both of which have papers written about them, that have been cited hundreds of times. I have put links to both papers in the description. However, getting started with FaunaDB is easier than it sounds. You won't have to read the papers or take a course in lambda calculus to get it up and running quickly.

[00:37] Practically, what this means is you can quickly spin up a new database, offload operations to the Fauna team, describe databases using the built-in GraphQL support, and access your content from anywhere around the world quickly without sacrificing correctness constraints.

[00:54] FaunaDB is multi-tenant by default, which means it supports nested databases. It operates as a multi-cloud service that crosses AWS and GCP in multiple global regions. All of this is done for you, without having to give up transactions.

[01:09] The FaunaDB drivers support an array of popular languages, such as Go and JavaScript. FaunaDB also internalizes security in a way that some other databases do not, but we'll get into that. If you're interested in the deeper correctness constraints that FaunaDB yields, take a look at the Jepsen report for FaunaDB.

[01:26] Note that if you haven't seen a Jepsen report before, one of the best outcomes is that the Jepsen report finds issues, and then the company acknowledges and also solves them. Note that depending on how you use FaunaDB, you can achieve snapshot isolation levels of consistency or serializable.

[01:43] That puts FaunaDB somewhere between snapshot isolation and strictly serializable on this chart of consistency models.

Joel Hooks
Joel Hooks
~ 3 years ago

What does FaunaDB's position on the consistency graph indicate? As in, why should I care?