Repairing Serializability Bugs in Distributed Database Programs via Automated Schema Refactoring
Kia Rahmani, Kartik Nagar, Benjamin Delaware, Suresh Jagannathan

TL;DR
This paper introduces an automated schema refactoring method that transforms database data layouts to eliminate serializability bugs, improving performance and reducing concurrency issues without changing concurrency control logic.
Contribution
It presents a novel automated schema refactoring technique that removes serializability bugs in distributed databases by modifying data layout, not concurrency control, enhancing performance and correctness.
Findings
120% higher throughput on average
45% lower latency compared to baselines
Effective in eliminating concurrency bugs
Abstract
Serializability is a well-understood concurrency control mechanism that eases reasoning about highly-concurrent database programs. Unfortunately, enforcing serializability has a high-performance cost, especially on geographically distributed database clusters. Consequently, many databases allow programmers to choose when a transaction must be executed under serializability, with the expectation that transactions would only be so marked when necessary to avoid serious concurrency bugs. However, this is a significant burden to impose on developers, requiring them to (a) reason about subtle concurrent interactions among potentially interfering transactions, (b) determine when such interactions would violate desired invariants, and (c) then identify the minimum number of transactions whose executions should be serialized to prevent these violations. To mitigate this burden, in this paper we…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
