# Guaranteeing Recoverability via Partially Constrained Transaction Logs

**Authors:** H. Zhou, J. W. Guo, H. Q. Hu, W. N. Qian, X. Zhou, A. Y. Zhou

arXiv: 1901.06491 · 2019-01-23

## TL;DR

This paper introduces Poplar, a scalable and parallel transaction logging scheme that relaxes traditional constraints, enabling efficient recovery and improved performance in multi-core in-memory database systems.

## Contribution

It proposes a novel recoverable logging scheme, Poplar, that allows parallel log processing and reduces synchronization, improving scalability and recovery efficiency.

## Key findings

- Poplar enables parallel log persistence across multiple storage devices.
- It replaces centralized LSN allocation with distributed partial order numbering.
- Poplar outperforms existing logging methods on SSDs and non-volatile memory.

## Abstract

Transaction logging is an essential constituent to guarantee the atomicity and durability in online transaction processing (OLTP) systems. It always has a considerable impact on performance, especially in an in-memory database system. Conventional implementations of logging rely heavily on a centralized design, which guarantees the correctness of recovery by enforcing a total order of all operations such as log sequence number (LSN) allocation, log persistence, transaction committing and recovering. This strict sequential constraint seriously limits the scalability and parallelism of transaction logging and recovery, especially in the multi-core hardware environment.   In this paper, we define recoverability for transaction logging and demonstrate its correctness for crash recovery. Based on recoverability, we propose a recoverable logging scheme named Poplar, which enables scalable and parallel log processing by easing the restrictions. Its main advantages are that (1) Poplar enables the parallel log persistence on multiple storage devices; (2) it replaces the centralized LSN allocation by calculating a partially ordered sequence number in a distributed manner, which allows log records to only track RAW and WAW dependencies among transactions; (3) it only demands transactions with RAW dependencies to be committed in serial order; (4) Poplar can concurrently restore a consistent database state based on the partially constrained logs after a crash. Experimental results show that Poplar scales well with the increase of IO devices and outperforms other logging approaches on both SSDs and emulated non-volatile memory.

## Full text

_Full body text omitted from this summary view._ Fetch the complete paper as Markdown: https://tomesphere.com/paper/1901.06491/full.md

## Figures

25 figures with captions in the complete paper: https://tomesphere.com/paper/1901.06491/full.md

## References

28 references — full list in the complete paper: https://tomesphere.com/paper/1901.06491/full.md

---
Source: https://tomesphere.com/paper/1901.06491