Live data from Hacker News

Verifying Transactional Consistency with Jepsen and FaunaDB

blog.fauna.com

11–20 of 27 posts

Re: Verifying Transactional Consistency with Jepsen and FaunaDB

#11

Jepsen is an important sanity check on marketing. Easy to say in collateral you are "strict" ACID -- Jepsen proves (or denies) those claims. Some fun reports over there http://jepsen.io/analyses

"strict" ACID can mean a lot of different things. There is a lot of levels of consistency and they prevent different types of issues with data correction and isolation. I think database vendors should clarify what consistency model they mean as defined by https://jepsen.io/consistency

That's a great resource. We've tried to be consistent in using these terms. I think a lot of the confusion and lack of standardization over terminology came from the fact that database and distributed systems research had less overlap in the past...

Consistency in the ACID sense meaning something different from CAP Consistency is another good example.

Re: Verifying Transactional Consistency with Jepsen and FaunaDB

#12
post #10

How does fauna's consistency guarantees compare to coakroach, spanner and yugabyte? It is difficult to compare because different vendors use different terminology. For example spanner supports 'external consistency'. And Coakroach says it supports serializable as defined by ANSI. Is this the same as what Fauna calls strict serializable?

I believe what we spanner calls 'external consistency' we call strict serializability. Read-write transactions in FaunaDB are strictly serializable, whereas reads default to serializable. This allows us to serve reads independently from the closest region to the client, cutting down on latency in geo-distributed clusters. This is a bit weaker than external consistency or strict serializability; Peter Bailis has a goo…

[deleted]

Re: Verifying Transactional Consistency with Jepsen and FaunaDB

#13
post #11

Earlier quoted context omitted.

"strict" ACID can mean a lot of different things. There is a lot of levels of consistency and they prevent different types of issues with data correction and isolation. I think database vendors should clarify what consistency model they mean as defined by https://jepsen.io/consistency

That's a great resource. We've tried to be consistent in using these terms. I think a lot of the confusion and lack of standardization over terminology came from the fact that database and distributed systems research had less overlap in the past... Consistency in the ACID sense meaning something different from CAP Consistency is another good example.

Another point that often gets lost when talking about ACID guarantees is the maximum scope of a transaction that a system supports. There are many systems which support ACID guarantees for a single record or shard, but fewer that can support fully distributed transactions across a sharded dataset in a scalable manner.

Re: Verifying Transactional Consistency with Jepsen and FaunaDB

#14
post #13
post #11

Earlier quoted context omitted.

That's a great resource. We've tried to be consistent in using these terms. I think a lot of the confusion and lack of standardization over terminology came from the fact that database and distributed systems research had less overlap in the past... Consistency in the ACID sense meaning something different from CAP Consistency is another good example.

Another point that often gets lost when talking about ACID guarantees is the maximum scope of a transaction that a system supports. There are many systems which support ACID guarantees for a single record or shard, but fewer that can support fully distributed transactions across a sharded dataset in a scalable manner.

[deleted]

Re: Verifying Transactional Consistency with Jepsen and FaunaDB

#19
Interesting to see new DBs cropping up! I think there is much to improve over the choices popular today.

However, it's difficult to quickly grasp what makes Fauna unique. A comparison with e.g. CockroachDB would be nice!

A good example of doing this well is RethinkDB, that provided two comparisons with MongoDB (one biased, one unbiased).

1. Technical comparison (unbiased):

https://rethinkdb.com/docs/comparison-tables/

2. Personal comparison (biased):

https://rethinkdb.com/docs/rethinkdb-vs-mongodb/

Consul (not a DB though) also has these comparisons:

https://www.consul.io/intro/vs/index.html

Re: Verifying Transactional Consistency with Jepsen and FaunaDB

#20

Interesting to see new DBs cropping up! I think there is much to improve over the choices popular today. However, it's difficult to quickly grasp what makes Fauna unique. A comparison with e.g. CockroachDB would be nice! A good example of doing this well is RethinkDB, that provided two comparisons with MongoDB (one biased, one unbiased). 1. Technical comparison (unbiased): https://rethinkdb.com/docs/comparison-tables…

[deleted]
Post reply on HN