Table of Contents
Fetching ...

Online Timestamp-based Transactional Isolation Checking of Database Systems (Extended Version)

Hexu Li, Hengfeng Wei, Hongrong Ouyang, Yuxing Chen, Na Yang, Ruohao Zhang, Anqun Pan

TL;DR

The paper tackles online transactional isolation checking for Serializability and Snapshot Isolation by extending a timestamp-based verification approach. It introduces Chronos, an efficient offline SI checker that runs in timestamp order, and extends it online as AION to support online SI checks, with AION-SER for online SER checks. Chronos achieves $O\left(N\log N + M\right)$ time, processes histories with up to one million transactions rapidly, and uses garbage collection to bound memory. AION delivers sustained throughput around $12{,}000$ transactions per second with minimal database overhead, and AION-SER demonstrates similar performance for online SER checks, significantly outperforming prior online checkers like Cobra. The results demonstrate practical feasibility for continuous, online isolation checking in real-world systems and point to future work extending the approach to more data types and SQL-style queries.

Abstract

Serializability (SER) and snapshot isolation (SI) are widely used transactional isolation levels in database systems. The isolation checking problem asks whether a given execution history of a database system satisfies a specified isolation level. However, existing SER and SI checkers, whether traditional black-box checkers or recent timestamp-based white-box ones, operate offline and require the entire history to be available to construct a dependency graph, making them unsuitable for continuous and ever-growing histories. This paper addresses online isolation checking by extending the timestamp-based isolation checking approach to online settings. Specifically, we design CHRONOS, an efficient timestamp-based offline SI checker. CHRONOS is incremental and avoids constructing a start-ordered serialization graph for the entire history, making it well-suited for online scenarios. We further extend CHRONOS into an online SI checker, AION, addressing several key challenges unique to online settings. Additionally, we develop AION-SER for online SER checking. Experiments highlight that CHRONOS processes offline histories with up to one million transactions in seconds, greatly outperforming existing SI checkers. Furthermore, AION and AION-SER sustain a throughput of approximately 12K transactions per second, demonstrating their practicality for online isolation checking.

Online Timestamp-based Transactional Isolation Checking of Database Systems (Extended Version)

TL;DR

The paper tackles online transactional isolation checking for Serializability and Snapshot Isolation by extending a timestamp-based verification approach. It introduces Chronos, an efficient offline SI checker that runs in timestamp order, and extends it online as AION to support online SI checks, with AION-SER for online SER checks. Chronos achieves time, processes histories with up to one million transactions rapidly, and uses garbage collection to bound memory. AION delivers sustained throughput around transactions per second with minimal database overhead, and AION-SER demonstrates similar performance for online SER checks, significantly outperforming prior online checkers like Cobra. The results demonstrate practical feasibility for continuous, online isolation checking in real-world systems and point to future work extending the approach to more data types and SQL-style queries.

Abstract

Serializability (SER) and snapshot isolation (SI) are widely used transactional isolation levels in database systems. The isolation checking problem asks whether a given execution history of a database system satisfies a specified isolation level. However, existing SER and SI checkers, whether traditional black-box checkers or recent timestamp-based white-box ones, operate offline and require the entire history to be available to construct a dependency graph, making them unsuitable for continuous and ever-growing histories. This paper addresses online isolation checking by extending the timestamp-based isolation checking approach to online settings. Specifically, we design CHRONOS, an efficient timestamp-based offline SI checker. CHRONOS is incremental and avoids constructing a start-ordered serialization graph for the entire history, making it well-suited for online scenarios. We further extend CHRONOS into an online SI checker, AION, addressing several key challenges unique to online settings. Additionally, we develop AION-SER for online SER checking. Experiments highlight that CHRONOS processes offline histories with up to one million transactions in seconds, greatly outperforming existing SI checkers. Furthermore, AION and AION-SER sustain a throughput of approximately 12K transactions per second, demonstrating their practicality for online isolation checking.

Paper Structure

This paper contains 45 sections, 3 equations, 25 figures, 1 table, 2 algorithms.

Figures (25)

  • Figure 1: Illustration of both the operational and axiomatic semantics of SI. The start and commit timestamps are represented by dashed lines and dotted lines, respectively. All timestamps are totally ordered from left to right. (The arrows for $\textup{AR}$ implied by $\textup{VIS}$ and transitivity are not shown.)
  • Figure 2: Illustration of both the offline and online checking algorithms, Chronos and Aion in Example \ref{['ex:chronos']} and Example \ref{['ex:aion']}.
  • Figure 3: Workflow of online timestamp-based SI checking.
  • Figure 4: Runtime comparison on key-value histories under varying number of transactions.
  • Figure 5: Runtime comparison with Emme-SI and ElleKV/ElleList under varying number of transactions.
  • ...and 20 more figures

Theorems & Definitions (11)

  • Example 1
  • Definition 1
  • Definition 2
  • Definition 3
  • Definition 4: Snapshot Isolation (Axiomatic) Framework:CONCUR2015AnalysingSI:JACM2018
  • Example 2
  • Definition 5: Timestamp-based Arbitration
  • Definition 6: Timestamp-based Visibility
  • Example 3
  • Example 4
  • ...and 1 more