2006 · 33 citations · 10 references
ComputingComputer EngineeringComputer ScienceDatabasesFault ToleranceFault-tolerant SystemsData RecoveryDatabase RecoveryFault-tolerant Storage SystemsMemory ConsistencyReliable Storage SystemsTransaction ManagementBlocking BehaviorCheckpointingCheckpointsConsistencyMemory Footprint ReductionMemory OverheadThroughputTransaction Processing
Checkpointing is the primary means of persisting an in‑memory database and, together with transaction logs, underpins durability, but it typically reduces throughput and increases memory usage. This work introduces a consistency‑preserving, memory‑efficient checkpointing method. The approach replaces page shadowing with tuple shadowing and rearranges tuples across pages to minimize memory overhead. Analytical and experimental results demonstrate a substantial reduction in memory usage and up to 30 % higher transaction throughput versus a fuzzy checkpoint with undo/redo logging.
Checkpoint of an in-memory database is the main source of a persistent database image surviving a software crash, or a power outage, and is, together with transactions logs, a foundation for transaction durability. Since checkpoints are created simultaneously with transaction processing, they tend to decrease database throughput and increase its memory footprint. Of the current methods, most efficient are the fuzzy checkpoint algorithms that write dirty pages to disk and require transaction logs for reconstructing a consistent state. Known consistency-preserving methods suffer from excessive memory usage or a transaction-blocking behavior. In this paper, we present a consistency-preserving and memory-efficient checkpoint method. It is based on tuple shadowing as opposed to known page shadowing methods, and rearranging of tuples between pages for minimal memory usage overhead. The method's algorithms are introduced and both analytical and experimental analysis of the proposed algorithms show significant reduction in the memory usage overhead, and up to 30% higher transaction throughput compared with a fuzzy checkpoint method with undo/redo log.
10
Implementation techniques for main memory database systems
David J. DeWitt, Randy H. Katz, Frank Olken et al. · 1984 · 818 citations · Full text
Checkpointing memory-resident databases
Kenneth Salem, Héctor García-Molina · 2003 · 70 citations