> We do not allow the bad outcome in the Hacker News commenting scenario. Other
> distributed databases that claim serializability do allow this to happen.
FaunaDB's consistency levels are as follows: | No indices | Serializable indices | Other indices
-----------+--------------+----------------------+--------------
Read-Write | Strict-1SR | Strict-1SR | Snapshot
Read-Only | Serializable | Serializable | Snapshot
In FaunaDB, all read-write transactions execute at external consistency, including all their row read intents, and all index intents when requested. Any read-only transaction, even if uncoordinated, will see a consistent prefix view of all its priors. Not just causal priors, so there is no "causal reversal". All physical, linearizable, multi-partition priors.In FaunaDB, it is not possible to see the later comment without seeing the previous comment, even when executing at snapshot instead of externally consistent isolation.
FaunaDB can serve serializable/snapshot reads out of any datacenter without any global coordination, and can serve externally consistent reads with coordination whenever requested. CockroachDB doesn't offer global reads at all, to work around the clock skew issues, but can only serve reads from partition leaders.
Comparing these models fairly requires executing all transactions in FaunaDB at external consistency, which is both more consistent, and has lower tail latency in a global context, than CockroachDB.