Table of Contents
Fetching ...

TxnSails: Achieving Serializable Transaction Scheduling with Self-Adaptive Isolation Level Selection

Qiyu Zhuang, Wei Lu, Shuang Liu, Yuxing Chen, Xinyue Shi, Zhanhao Zhao, Yipeng Sun, Anqun Pan, Xiaoyong Du

TL;DR

The paper tackles the challenge of achieving serializable transaction scheduling with low-overhead, dynamic workloads. It introduces TxnSails/Tristar, a middle-tier system with Analyzer, Executor, and Adapter that (i) enforces serializability at low isolation levels through a unified runtime validation, (ii) uses a graph-based model to self-adaptively select the optimal isolation level, and (iii) implements cross-isolation validation to preserve serializability during transitions. The authors provide correctness proofs and demonstrate through extensive experiments on SmallBank, YCSB+T, and TPC-C that their approach can outperform state-of-the-art methods by up to 26.7x and surpass PostgreSQL SER by up to 4.8x, while requiring no kernel modifications. The results show strong performance and adaptability across diverse workloads, confirming the practical viability and generality of a middle-tier, graph-learning–driven strategy for dynamic isolation-level management in MVCC databases.

Abstract

Achieving the serializable isolation level, regarded as the gold standard for transaction processing, is costly. Recent studies reveal that adjusting specific query patterns within a workload can still achieve serializability even at lower isolation levels. Nevertheless, these studies typically overlook the trade-off between the performance advantages of lower isolation levels and the overhead required to maintain serializability, potentially leading to suboptimal isolation level choices that fail to maximize performance. In this paper, we present TxnSails, a middle-tier solution designed to achieve serializable scheduling with self-adaptive isolation level selection. First, TxnSails incorporates a unified concurrency control algorithm that achieves serializability at lower isolation levels with minimal additional overhead. Second, TxnSails employs a deep learning method to characterize the trade-off between the performance benefits and overhead associated with lower isolation levels, thus predicting the optimal isolation level. Finally, TxnSails implements a cross-isolation validation mechanism to ensure serializability during real-time isolation level transitions. Extensive experiments demonstrate that TxnSails outperforms state-of-the-art solutions by up to 26.7x and PostgreSQL's serializable isolation level by up to 4.8x.

TxnSails: Achieving Serializable Transaction Scheduling with Self-Adaptive Isolation Level Selection

TL;DR

The paper tackles the challenge of achieving serializable transaction scheduling with low-overhead, dynamic workloads. It introduces TxnSails/Tristar, a middle-tier system with Analyzer, Executor, and Adapter that (i) enforces serializability at low isolation levels through a unified runtime validation, (ii) uses a graph-based model to self-adaptively select the optimal isolation level, and (iii) implements cross-isolation validation to preserve serializability during transitions. The authors provide correctness proofs and demonstrate through extensive experiments on SmallBank, YCSB+T, and TPC-C that their approach can outperform state-of-the-art methods by up to 26.7x and surpass PostgreSQL SER by up to 4.8x, while requiring no kernel modifications. The results show strong performance and adaptability across diverse workloads, confirming the practical viability and generality of a middle-tier, graph-learning–driven strategy for dynamic isolation-level management in MVCC databases.

Abstract

Achieving the serializable isolation level, regarded as the gold standard for transaction processing, is costly. Recent studies reveal that adjusting specific query patterns within a workload can still achieve serializability even at lower isolation levels. Nevertheless, these studies typically overlook the trade-off between the performance advantages of lower isolation levels and the overhead required to maintain serializability, potentially leading to suboptimal isolation level choices that fail to maximize performance. In this paper, we present TxnSails, a middle-tier solution designed to achieve serializable scheduling with self-adaptive isolation level selection. First, TxnSails incorporates a unified concurrency control algorithm that achieves serializability at lower isolation levels with minimal additional overhead. Second, TxnSails employs a deep learning method to characterize the trade-off between the performance benefits and overhead associated with lower isolation levels, thus predicting the optimal isolation level. Finally, TxnSails implements a cross-isolation validation mechanism to ensure serializability during real-time isolation level transitions. Extensive experiments demonstrate that TxnSails outperforms state-of-the-art solutions by up to 26.7x and PostgreSQL's serializable isolation level by up to 4.8x.

Paper Structure

This paper contains 38 sections, 3 theorems, 1 equation, 18 figures, 1 table, 1 algorithm.

Key Result

theorem 1

If a static dependency graph contains no SI (resp. RC) static dangerous structures, then scheduling the transactions generated by the corresponding transaction templates achieves SER when the RDBMS is configured to SI (resp. RC). ∎

Figures (18)

  • Figure 1: Static dependency graphs of Smallbank
  • Figure 2: Modification of Bal transaction template
  • Figure 3: An overview of $\textsf{Tristar}$
  • Figure 4: Transaction processing in $\textsf{Tristar}$
  • Figure 5: Graph-based isolation level selection model
  • ...and 13 more figures

Theorems & Definitions (10)

  • definition 1: SI dangerous structure DBLP:journals/pvldb/PortsG12
  • definition 2: RC dangerous structure DBLP:journals/pvldb/GanRRB020DBLP:conf/aiccsa/AlomariF15
  • definition 3: Static SI dangerous structure DBLP:conf/sigmod/CahillRF08alomari2008serializable
  • definition 4: Static RC dangerous structure DBLP:conf/aiccsa/AlomariF15DBLP:conf/icdt/VandevoortK0N22
  • theorem 1: alomari2009ensuring
  • definition 5: Static vulnerable dependency
  • definition 6: Vulnerable dependency
  • theorem 2: DBLP:conf/aiccsa/AlomariF15
  • definition 7: Cross-isolation vulnerable dependency
  • corollary 1