Developer's Responsibility or Database's Responsibility? Rethinking Concurrency Control in Databases
Developer's Responsibility or Database's Responsibility? Rethinking Concurrency Control in Databases
复制标题
DOI:
--
复制
发表时间:
2023
期刊:
影响因子:
--
通讯作者:
Chao-Wei Cheng;Mingzhe Han;Nuo Xu;Spyros Blanas;Michael D. Bond;Yang Wang
中科院分区:
文献类型:
--
作者:
Chao-Wei Cheng;Mingzhe Han;Nuo Xu;Spyros Blanas;Michael D. Bond;Yang Wang
Many database applications execute transactions under a weaker isolation level, such as R EAD C OMMITTED . This often leads to concurrency bugs that look like race conditions in multi-threaded programs. While this problem is well known, philosophies of how to address this problem vary a lot, ranging from making a S ERI - ALIZABLE database faster to living with weaker isolation and the consequence of concurrency bugs. This paper studies the consequences, root causes, and how developers fix 93 real-world concurrency bugs in database applications. We observe that, on the one hand, developers still prefer preventing these bugs from happening. On the other hand, database systems are not providing sufficient support for this task, so developers often fix these bugs using ad-hoc solutions, which are often complicated and not fully correct. We further discuss research opportunities to improve concurrency control in database implementations.