LineairDB: Transactional Key-Value Storage with Epoch-based Synchronization

Demands on the performance of database systems continue to increase. In state-of-the-art database systems, the storage engine is a major source of performance bottlenecks, and it is important to harness parallelism by avoiding mutual exlusion mechanisms such as locks. In this paper, we outline the d...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Computer Software 2024/01/25, Vol.41(1), pp.1_15-1_35
Hauptverfasser: NAKAZONO, Sho, BESSHO, Yutaro, NAKAMORI, Tatsuhiro
Format: Artikel
Sprache:jpn
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:Demands on the performance of database systems continue to increase. In state-of-the-art database systems, the storage engine is a major source of performance bottlenecks, and it is important to harness parallelism by avoiding mutual exlusion mechanisms such as locks. In this paper, we outline the design of LineairDB, a transactional storage engine open-sourced by the authors. LineairDB employs epoch-based synchronization to all components, which harnesses a high degree of multicore parallelism in handling data structures. We describe how each component of LineairDB is optimized by epoch-based synchronization. Our experimental results show that the optimizations in LineairDB lead to about a 75x increase in throughput in YCSB benchmark. In addition, we implement LineairDB-storage-engine, which is a plugin for MySQL. It achieved up to 5x better throughput compared to InnoDB, which is MySQL's default storage engine. On the other hand, the approach of epoch-based synchronization affects both the performance characteristics and the consistency that the database provides to users. This paper also discusses these aspects.
ISSN:0289-6540
DOI:10.11309/jssst.41.1_15