blog-post-why-you-should-pick-strong-consistency

https://cloudplatform.googleblog.com/2018/01/why-you-should-pick-strong-consistency-whenever-possible.html?m=1

blog-post-why-you-should-pick-strong-consistency#transactions-and-consistency-across-entire-dataset1Put another way, data stores that provide transactions and consistency across the entire dataset by default lead to fewer bugs, fewer headaches and easier-to-maintain application code. blog-post-why-you-should-pick-strong-consistency#transactions-and-consistency-across-entire-dataset1

blog-post-why-you-should-pick-strong-consistency#external-consistency-strong-consistency-plus-serializability-and-linearizability1external consistency, which is strong consistency + additional properties (including serializability and linearizability). blog-post-why-you-should-pick-strong-consistency#external-consistency-strong-consistency-plus-serializability-and-linearizability1

blog-post-why-you-should-pick-strong-consistency#external-consistency-strong1 2 3External consistency is a stronger property than both linearizability and serializability. blog-post-why-you-should-pick-strong-consistency#external-consistency-strong1 2 3

blog-post-why-you-should-pick-strong-consistency#linearizability-notes1 2 3 4Linearizability is a recency guarantee on reads and writes of a register (an individual object). It doesn't group operations together into transactions, so it does not prevent problems such as write skew, unless you take additional measures such as materializing conflicts blog-post-why-you-should-pick-strong-consistency#linearizability-notes1 2 3 4

blog-post-why-you-should-pick-strong-consistency#external-consistency-stronger-than-linearizabilityCloud Spanner provides external consistency, which is a stronger property than linearizability, because linearizability does not say anything about the behavior of transactions. blog-post-why-you-should-pick-strong-consistency#external-consistency-stronger-than-linearizability

blog-post-why-you-should-pick-strong-consistency#bounded-stale-reads1 2Cloud Spanner supports bounded stale reads, which offer similar performance benefits as eventual consistency but with much stronger consistency guarantees. blog-post-why-you-should-pick-strong-consistency#bounded-stale-reads1 2

Multi-master architectures and multiple levels of consistency are workarounds for not being able to provide the external consistency that Cloud Spanner does.

Using a workaround to achieve strong consistency at the application level adds a velocity-tax to every subsequent new feature—no matter how small.

Cloud Spanner's use of TrueTime also provides the added benefit of being able do global bounded-staleness reads

Referring Pages

data-architecture-glossary