FaunaDB review: Fast NoSQL database for global scale

Low latency, strong consistency, and high scalability make FaunaDB an excellent choice for greenfield web or mobile apps

FaunaDB review: Fast NoSQL database for global scale
-mosquito- / Getty Images
At a Glance

Distributed databases have become interesting and attractive in the last decade, as companies with world-wide operations require transactional databases with horizontal scalability and global reach. There’s an essential tension between geographic distribution and low transaction latency, however: The speed of light limits the transmission time between distant nodes.

editors choice award logo plum InfoWorld

To allow for high throughput on write transactions, many NoSQL databases have weakened their transaction support, either by prohibiting cross-partition transactions, or by downgrading their consistency guarantees from strong (synchronous transactions) to eventual (asynchronous transactions). Most databases use a two-phase commit scheme for transactions, which drives up the transaction latency when there is geographic distribution of nodes. However, many recent distributed databases use either a Paxos or Raft scheme for quorum-based transaction consensus, which lowers the transaction latency.

FaunaDB is a distributed, strongly consistent OLTP NoSQL database that is ACID compliant and offers a multi-model interface. It has an active-active architecture and can span clouds as well as continents. FaunaDB supports document, relational, graph, and temporal data sets from a single query. In addition to its own FQL query language, the product supports GraphQL, with SQL planned for the future.

FaunaDB is the first database to use the Calvin cross-shard transactional protocol, which allows for single-phase commits without reliance on clocks and without loss of consistency. FaunaDB also uses the Raft consensus system for individual shards. We’ll explain these in more detail when we discuss the FaunaDB architecture.

To continue reading this article register now

How to choose a low-code development platform