Company
Date Published
Author
Daniel Abadi, Matt Freels
Word count
3022
Language
English
Hacker News points
171

Summary

Fauna is a distributed database platform that supports strictly serializable, externally consistent transactions without relying on physical clock synchronization. Instead, it uses a unique protocol that maintains consistency across geographic distances by choosing a recent snapshot time and making requests to nearby servers to read data as of that snapshot. The protocol ensures global serializability through deterministic processing of transactions in the order they appear in the global input log, enforced by a Raft consensus protocol. This approach allows Fauna to provide strong guarantees of consistency and ACID transactions while achieving performance gains compared to other systems. The protocol consists of three phases: speculative phase, consensus phase, and verification phase, with only a single round of global consensus required for even the most complicated of transactions. Fauna's architecture does not require clock synchronization or bounds on clock skew uncertainty across machines in a deployment, resulting in lower latency costs compared to other consistent database systems.