Update solution on February 28, 2020

FaunaDB
Mutable Award: Highly Commended 2019

FaunaDB is a serverless cloud database that offers global access to data via APIs such as GraphQL (the FaunaDB GraphQL Playground is illustrated in Figure 2) without sacrificing data consistency. From a multi-model perspective, it supports Fauna SQL, graphs, document models and so on. Time-series can be supported as a specific document model use case, but you would not call FaunaDB a time-series database. On the other hand, it is a rare example of a temporal database (see below). More generally, FaunaDB is a transactional/operational database that provides ACID guarantees. The database implements the Calvin protocol, which provides a transaction scheduling and data replication layer that uses a deterministic ordering guarantee to significantly reduce the normally prohibitive contention costs associated with distributed transactions. It is a lockless protocol that, in simple terms, decouples the processing of transactions from the order in which they arrive. This allows a single consensus-based single-phase commit, which is significantly faster that two-phase commit. As we understand it, Fauna is the first company to implement a database using Calvin principles.

In this context, FaunaDB has worked with Jepsen, which is an independent organisation that tests the safety of distributed databases. Jepsen has reported that all the serious safety issues (read skew and others) it had previously found, have been rectified in the latest (2.6) release.

Fig 01 CloudConsole

Customer Quotes

“With FaunaDB, we’re able to support tens of millions of users with a small operational staff, and FaunaDB’s advanced features like global replication let us maintain high availability and correctness even in the case of unexpected regional outages.”
NVIDIA

“Fauna is unique among databases. It meets our transactional, performance, and scalability requirements without compromising developer productivity.”
Nextdoor

Fig 02 FaunaDB GraphQL Playground

FaunaDB is built as an indexed document database that uses a Calvin-inspired protocol to ensure global consistency and low latency at scale. It uses an append-only approach. However, the append only nature of the database might make you wonder how it can support such things as GDPR. However, its approach to multi-tenancy means that you can set up the database in such a way that each client is a tenant in its own right. So, you can simply delete that tenant in the event of a right to be forgotten request. There are also facilities to automatically delete data on a time period basis.

Temporal data differs from time-series data to the extent that temporal data is fixed for a particular period of time. Temporal data has a start and end date, even if the latter may be putative rather than actual. The most obvious use cases include demographics and many things associated with human activity, for example, tracking and analysing emergency vehicle response times to do trend analysis, or in logistics. Auditing (and not just financial auditing) and compliance are other environments that lend themselves to temporal analytics, especially where you need to look backwards in time. To be specific, temporal databases typically need support for both “valid times” and “transaction times”. This is best explained by example. Suppose you moved to address A on the 1st of January 2006 and moved to address B on the 1st of January 2009 but forgot to inform your local tax authority about the move until the 1st of January 2010. The “valid time” that you were at address A was from 2006 to 2009 but the “transaction time” (when the local tax authority thought you were at address A, even if you weren’t) was from 2006 to 2010. For obvious reasons, the tax authorities will need to understand both valid and transaction times.

As a general-purpose database FaunaDB was designed from the outset to be a serverless cloud database that offers scale without sacrificing consistency, while removing any operational burden from developers: deploy once, push globally without having to worry about servers, regions, capacity, latency, consistency, redundancy and so forth. Hence the use of an append only approach (you never have to worry about updates or deletes) and its use of the Calvin protocol. At the same time, FaunaDB is a multi-model database supporting document, relational and graph approaches and, as Bloor Research has suggested elsewhere, we view multi-model databases as the future for database technology as we head into the 2020s and beyond.

From a temporal perspective, FaunaDB is one of only a very few databases that has temporal capabilities and, of the others, not all support transactional or operational environments.

The Bottom Line

FaunaDB is relatively new but has a growing reputation. It has some unique technical characteristics and its temporal support makes it a leading candidate for any application that needs this sort of capability. The company claims that it is the only multi-cloud serverless database that offers a complete transactional database feature set combined with instant access, and zero provisioning to its end users.

Related Company

Connect with Us

Ready to Get Started

Learn how Bloor Research can support your organization’s journey toward a smarter, more secure future."

Connect with us Join Our Community