Table of Contents
Fetching ...

Serializable HTAP with Abort-/Wait-free Snapshot Read

Takamitsu Shioi, Takashi Kambayashi, Suguru Arakawa, Ryoji Kurosawa, Satoshi Hikida, Haruo Yokota

TL;DR

This paper tackles achieving serializable HTAP without incurring additional aborts or waits for read-only OLAP workloads. It introduces Read Safe Snapshot (RSS), a theoretical framework atop MVCC and SSI, enabling read-only transactions to join ongoing OLTP schedules by reading from stable, previously committed versions. The authors formalize RSS, present an SSI-based RSS construction algorithm, and prove its correctness, then implement it in PostgreSQL for both unified and multinode architectures. Evaluation shows RSS can improve OLTP throughput and maintain OLAP performance with reduced aborts compared to SSI+SafeSnapshots, while incurring modest overhead in multinode deployments. The work demonstrates practical, wait-/abort-free serializable HTAP with real-world applicability and sets the stage for scalable RSS-based HTAP in future systems.

Abstract

Concurrency Control (CC) ensuring consistency of updated data is an essential element of OLTP systems. Recently, hybrid transactional/analytical processing (HTAP) systems developed for executing OLTP and OLAP have attracted much attention. The OLAP side CC domain has been isolated from OLTP's CC and in many cases has been achieved by snapshot isolation (SI) to establish HTAP systems. Although higher isolation level is ideal, considering OLAP read-only transactions in the context of OLTP scheduling achieving serializability forces aborts/waits and would be a potential performance problem. Furthermore, executing OLAP without affecting OLTP as much as possible is needed for HTAP systems. The aim of this study was serializability without additional aborts/waits. We propose read safe snapshot (RSS) using multiversion CC (MVCC) theory and introduce the RSS construction algorithm utilizing serializable snapshot isolation (SSI). For serializability of HTAP systems, our model makes use of multiversion and allows more schedules with read operations whose corresponding write operations do not participate in the dependency cycles. Furthermore, we implemented the algorithm practically in an open-source database system that offers SSI. Our algorithm was integrated into two types of architecture as HTAP systems called as unified (single-node) or decoupled (multinode) storage architecture. We evaluate the performance and abort rate of the single-node architecture where SSI is applicable. The multi-node architecture was investigated for examining the performance overhead applying our algorithm.

Serializable HTAP with Abort-/Wait-free Snapshot Read

TL;DR

This paper tackles achieving serializable HTAP without incurring additional aborts or waits for read-only OLAP workloads. It introduces Read Safe Snapshot (RSS), a theoretical framework atop MVCC and SSI, enabling read-only transactions to join ongoing OLTP schedules by reading from stable, previously committed versions. The authors formalize RSS, present an SSI-based RSS construction algorithm, and prove its correctness, then implement it in PostgreSQL for both unified and multinode architectures. Evaluation shows RSS can improve OLTP throughput and maintain OLAP performance with reduced aborts compared to SSI+SafeSnapshots, while incurring modest overhead in multinode deployments. The work demonstrates practical, wait-/abort-free serializable HTAP with real-world applicability and sets the stage for scalable RSS-based HTAP in future systems.

Abstract

Concurrency Control (CC) ensuring consistency of updated data is an essential element of OLTP systems. Recently, hybrid transactional/analytical processing (HTAP) systems developed for executing OLTP and OLAP have attracted much attention. The OLAP side CC domain has been isolated from OLTP's CC and in many cases has been achieved by snapshot isolation (SI) to establish HTAP systems. Although higher isolation level is ideal, considering OLAP read-only transactions in the context of OLTP scheduling achieving serializability forces aborts/waits and would be a potential performance problem. Furthermore, executing OLAP without affecting OLTP as much as possible is needed for HTAP systems. The aim of this study was serializability without additional aborts/waits. We propose read safe snapshot (RSS) using multiversion CC (MVCC) theory and introduce the RSS construction algorithm utilizing serializable snapshot isolation (SSI). For serializability of HTAP systems, our model makes use of multiversion and allows more schedules with read operations whose corresponding write operations do not participate in the dependency cycles. Furthermore, we implemented the algorithm practically in an open-source database system that offers SSI. Our algorithm was integrated into two types of architecture as HTAP systems called as unified (single-node) or decoupled (multinode) storage architecture. We evaluate the performance and abort rate of the single-node architecture where SSI is applicable. The multi-node architecture was investigated for examining the performance overhead applying our algorithm.
Paper Structure (20 sections, 7 theorems, 1 equation, 6 figures, 1 algorithm)

This paper contains 20 sections, 7 theorems, 1 equation, 6 figures, 1 algorithm.

Key Result

lemma 1

For any $T_r$ holding $R(\mathbb{P})$ and $T_q \notin \mathbb{P}$, $T_r$ is unreachable from $T_q$: $T_q \not\to^* T_r$.

Figures (6)

  • Figure 1: Conceptual diagram of RSS. (a) represents dependency edge. (b) represents transactions are unreachable in the direction of the arrow because conflicts do not occur on the history prefix. From a read-only transaction point of view, $T_1$ and $T_2$ in RSS can be considered as a transaction region protected against dependency paths through $T_3$ or $T_4$.
  • Figure 2: Conceptual diagram of RSS construction algorithm under SSI. (a) represents rw-dependency edges. (b) represents transactions are unreachable in direction of the arrow as rw-conflicts; $T_1$ and $T_2$ show that the nonconcurrent relation between Clear and Undone cannot give rise to rw-dependencies. $T_4$ and $T_5$ show that dangerous structure cannot arise: if SSI scheduler had accepted $T_3 \leftarrow T_4$, ended (committed) transaction $T_4$ cannot be aborted/reachable. Similarly, if $T_7 \leftarrow T_8$ holds, the SSI scheduler also should not have allowed $T_6 \leftarrow T_7$, thus, RSS cannot contain $T_7$ in spite of being committed. $T_8$ is an uncommitted transaction; as a result, even if $T_7 \leftarrow T_8$ did not arise, RSS could have contain $T_6$ because $T_6$ had been unreachable as Clear transactions.
  • Figure 3: Multinode architecture overview. Twin Arrows $\leftleftarrows$ represent clients. Arrow $\rightarrow$ represents existing processing flows of PostgreSQL. Open arrow $\Rightarrow$ represents newly implemented processing flows.
  • Figure 4: Single-node architecture overview
  • Figure 5:
  • ...and 1 more figures

Theorems & Definitions (11)

  • definition 1
  • definition 2
  • definition 3
  • lemma 1
  • theorem 1
  • corollary 1
  • definition 4
  • lemma 2
  • lemma 3
  • lemma 4
  • ...and 1 more