Coo: Consistency Check for Transactional Databases

06/29/2022
by   Haixiang Li, et al.
0

In modern databases, transaction processing technology provides ACID (Atomicity, Consistency, Isolation, Durability) features. Consistency refers to the correctness of databases and is a crucial property for many applications, such as financial and banking services. However, there exist typical challenges for consistency. Theoretically, the current two definitions of consistency express quite different meanings, which are causal and sometimes controversial. Practically, it is notorious to check the consistency of databases, especially in terms of the verification cost. This paper proposes Coo, a framework to check the consistency of databases. Specifically, Coo has the following advancements. First, Coo proposes partial order pair (POP) graph, which has a better expressiveness on transaction conflicts in a schedule by considering stateful information like Commit and Abort. By POP graph with no cycle, Coo defines consistency completely. Secondly, Coo can construct inconsistent test cases based on POP cycles. These test cases can be used to check the consistency of databases in accurate (all types of anomalies), user-friendly (SQL-based test), and cost-effective (one-time checking in a few minutes) ways. We evaluate Coo with eleven databases, both centralized and distributed, under all supported isolation levels. The evaluation shows that databases did not completely follow the ANSI SQL standard (e.g., Oracle claimed to be serializable but appeared in some inconsistent cases), and have different implementation methods and behaviors for concurrent controls (e.g., PostgreSQL, MySQL, and SQL Server performed quite differently at Repeatable Read level). Coo aids to comprehend the gap between coarse levels, finding more detailed and complete inconsistent behaviors.

READ FULL TEXT

page 3

page 4

page 5

page 6

page 8

page 11

page 12

page 13

research
03/22/2023

Dynamic Partial Order Reduction for Checking Correctness against Transaction Isolation Levels

Modern applications, such as social networking systems and e-commerce pl...
research
02/10/2019

Antidote SQL: Relaxed When Possible, Strict When Necessary

Geo-replication poses an inherent trade-off between low latency, high av...
research
01/29/2019

Data Consistency in Transactional Storage Systems: a Centralised Approach

Modern distributed databases weaken data consistency guarantees to allow...
research
09/14/2021

Coo: Rethink Data Anomalies In Databases

Transaction processing technology has three important contents: data ano...
research
01/22/2021

Checking Robustness Between Weak Transactional Consistency Models

Concurrent accesses to databases are typically encapsulated in transacti...
research
03/04/2021

MonkeyDB: Effectively Testing Correctness against Weak Isolation Levels

Modern applications, such as social networking systems and e-commerce pl...
research
08/13/2019

On the Complexity of Checking Transactional Consistency

Transactions simplify concurrent programming by enabling computations on...

Please sign up or login with your details

Forgot password? Click here to reset