MonkeyDB: Effectively Testing Correctness under Weak Isolation Levels
summary
MonkeyDB is a mock storage that computes, from an axiomatic isolation spec, the full set of values a read could legally return and returns a random value from that logical set to exercise rare weak behaviors. It implements Key-Value and SQL (each SQL cell maps to a key) and is a drop-in MySQL replacement for OLTPBench. In microbenchmarks serializability hits full coverage in ~50 runs and causal nearly in 3,000; on TPCC MonkeyDB violates all 12 assertions under Read Committed while MySQL only hits 6 even with 10 sessions.
AI-written summary · about
chapters (17)
- 0:00Intro
- 0:22Bank Payment
- 1:22Serializability
- 2:13Isolation Levels
- 3:45Testing Coverage on production databases
- 4:20Challenge
- 4:40Contribution
- 5:23Key-Value
- 6:35Engineering effort to optimize the procedures
- 6:54SQL
- 7:37Query Compilation
- 8:01Microbenchmarks
- 8:35State Space Coverage
- 10:06Evaluting OLTPBenchmark
- 11:53Related Work
- 12:44Conclusion
- 13:09Future Work
related talks
21mIsoPredict: Dynamic Predictive Analysis for Detecting Unserializable Behaviors in Weakly(…)
14mChecking Observational Correctness of Database Systems
18mAWDIT: An Optimal Weak Database Isolation Tester
53mKeynote - Jepsen 7: Anna Concurrenina
49mOnline Database Reliability, Performance, and Consistency Engineering
42mA Race To The Bottom: Database Transactions Undermining Your AppSec
27mMurdering our Mongo Database (or how we migrated to a relational database)
16mScaleDB: A Scalable, Asynchronous In-Memory Database
