To ensure high performance distributed transactions, Concourse always preserves strong consistency and relies on optimistic availability. Optimistic availability is a characteristic of distributed systems that are coordinated by a master node which allows the system to tolerate arbitrary node failure while preserving availability as long as the master node and at least one relevant node agree on the state of the system. In laymen’s terms: given sufficient replication, if a node fails, we’re optimistic that the system will remain available.
When other database systems choose eventual consistency, they force developers to reason about inconsistency at the application level, which is complicated. On the other hand, optimistic availability requires developers to reason about failure at the application level which is much easier due to the transaction paradigm which has been around for decades.
Please sign in to leave a comment.