Torturing Databases for Fun and Profit
Mai Zheng, The Ohio State University; Joseph Tucek, HP Labs; Dachuan Huang and Feng Qin, The Ohio State University; Mark Lillibridge, Elizabeth S. Yang, and Bill W Zhao, HP Labs; Shashank Singh, The Ohio State University
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.
Open Access Media
USENIX is committed to Open Access to the research presented at our events. Papers and proceedings are freely available to everyone once the event begins. Any video, audio, and/or slides that are posted after the event are also free and open to everyone. Support USENIX and our commitment to Open Access.
author = {Mai Zheng and Joseph Tucek and Dachuan Huang and Feng Qin and Mark Lillibridge and Elizabeth S. Yang and Bill W Zhao and Shashank Singh},
title = {Torturing Databases for Fun and Profit},
booktitle = {11th USENIX Symposium on Operating Systems Design and Implementation (OSDI 14)},
year = {2014},
isbn = { 978-1-931971-16-4},
address = {Broomfield, CO},
pages = {449--464},
url = {https://www.usenix.org/conference/osdi14/technical-sessions/presentation/zheng_mai},
publisher = {USENIX Association},
month = oct
}
connect with us