Jepsen 15: What Even Are Transactions? by Kyle Kingsbury

Databases often promise "ACID transactions", but what does that phrase actually mean? Using generative testing and fault injection techniques, we'll look at transaction safety in three systems which take different approaches not only to replication, but to transaction semantics themselves. We'll see how MySQL's "Repeatable Read" is not repeatable, and how MySQL clusters hosted in AWS could routinely violate Serializability. We'll discuss RavenDB, whose "business transactions" turned out nowhere close to claimed "ACID" properties. Finally, we'll explore a system which offers serial inter-transaction but concurrent intra-transaction semantics, which challenges our intuition about operation composition under "Serializability". https://aphyr.com/about Talk from Systems Distributed '24: https://systemsdistributed.com Join the chat at https://slack.tigerbeetle.com/invite