Back To Schedule
Wednesday, September 23 • 3:05pm - 3:55pm
Torturing Databases for Fun and Profit

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!

Programmers use databases when they want a high level of reliability. Specifically, they want the sophisticated ACID (atomicity, consistency, isolation, and durability) protection modern databases provide. However, the ACID properties are far from trivial to provide, particularly when high performance must be achieved. This leads to complex and error-prone code—even at a low defect rate of one bug per thousand lines, the millions of lines of code in a commercial OLTP database can harbor thousands of bugs.

Here we propose a method to expose and diagnose violations of the ACID properties. We focus on an ostensibly easy case: power faults. Our framework includes workloads to exercise the ACID guarantees, a record/replay subsystem to allow the controlled injection of simulated power faults, a ranking algorithm to prioritize where to fault based on our experience, and a multi-layer tracer to diagnose root causes. Using our framework, we study 8 widely-used databases, ranging from open-source key-value stores to high-end commercial OLTP servers. Surprisingly, all 8 databases exhibit erroneous behavior. For the open-source databases, we are able to diagnose the root causes using our tracer, and for the proprietary commercial databases we can reproducibly induce data loss.

avatar for Mai Zheng

Mai Zheng

Assistant Professor Computer Science Department - College of Arts and Sciences, New Mexico State University
Mai Zheng is an Assistant Professor at New Mexico State University. He received his Ph.D. in Computer Science from The Ohio State University in 2015. He was a visiting scholar at HP Labs in summer 2013. His research interests are in the broad areas of computer systems, including storage... Read More →

Wednesday September 23, 2015 3:05pm - 3:55pm PDT
Winchester Room

Attendees (0)