How to efficiently snapshot transactional data: hardware or software controlled?

  • Authors:
  • Henrik Mühe;Alfons Kemper;Thomas Neumann

  • Affiliations:
  • TU München Boltzmannstr, Garching, Germany;TU München Boltzmannstr, Garching, Germany;TU München Boltzmannstr, Garching, Germany

  • Venue:
  • Proceedings of the Seventh International Workshop on Data Management on New Hardware
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

The quest for real-time business intelligence requires executing mixed transaction and query processing workloads on the same current database state. However, as Harizopoulos et al. [6] showed for transactional processing, co-execution using classical concurrency control techniques will not yield the necessary performance -- even in re-emerging main memory database systems. Therefore, we designed an in-memory database system that separates transaction processing from OLAP query processing via periodically refreshed snapshots. Thus, OLAP queries can be executed without any synchronization and OLTP transaction processing follows the lock-free, mostly serial processing paradigm of H-Store [8]. In this paper, we analyze different snapshot mechanisms: Hardware-supported Page Shadowing, which lazily copies memory pages when changed by transactions, software controlled Tuple Shadowing, which generates a new version when a tuple is modified, software controlled Twin Tuple, which constantly maintains two versions of each tuple and HotCold Shadowing, which effectively combines Tuple Shadowing and hardware-supported Page Shadowing by clustering update-intensive objects. We evaluate their performance based on the mixed workload CH-BenCHmark which combines the TPC-C and the TPC-H benchmarks on the same database schema and state.