How do we guarantee "T3 submitted at T+300ns" reads the rows that are committed by T1 and T2 at T+100ns and T+200ns? I guess the answer is that the minimum transaction time for consistency is 5 minutes? At that point, don't you lose a lot of the scalability and usefulness?
It feels very much like the "read" in the "read-after-write consistency" is usually forgotten, hand-waved away with "eventual consistency", or is actually just a single node handling the coordination somewhere, leading us to not having nearly as scalable a system as we are promised by the database.
Willingham [3 hidden]5 mins ago
Great article, allowed me to learn about multi version concurrency control which I had never heard of, and in researching the topic I learned about optimistic concurrency control which I found even more interesting. It seems these two could be used in conjunction; OCC for efficient updates. MVCC for clean reads. Excited to play with these patterns in future projects (:
It feels very much like the "read" in the "read-after-write consistency" is usually forgotten, hand-waved away with "eventual consistency", or is actually just a single node handling the coordination somewhere, leading us to not having nearly as scalable a system as we are promised by the database.