2 ms·
This is a very interesting and useful post. I like how Aphyr started with Linearizability, which despite the unfamiliar name is much easier to reason about (for
by mjb 12y ago
This is a very interesting and useful post. I like how Aphyr started with Linearizability, which despite the unfamiliar name is much easier to reason about (for most) than serializability and most other models. This is well worth reading for anybody interesting in distributed databases.
A few nit-picks:
- The notion of linearizability he uses seems to be implied to be stronger than the original definition from Herlihy and Wing (http://cs.brown.edu/~mph/HerlihyW90/p463-herlihy.pdf http://cs.brown.edu/~mph/HerlihyW90/p463-herlihy.pdf). Compare Theorem 1 in that paper to the hints made about global consistency in that post. Still, this is very nit-picky, and the main points of the definition are captured.
- Serializability, as typically implemented in most of the RDBMSs in common use, is both weaker (as Aphyr points out) and stronger than the notion used in the literature. Weaker is covered well in Aphyr's other posts. Most databases are also stronger in some sense, and closer to strong serializability, because they allow clients to observe values directly in transaction scope, which constrains their ability to reorder transactions. There are many legal reorderings of transactions that databases could do under the definition of serializability that they don't do.