CMU-CS-21-131
Computer Science Department
School of Computer Science, Carnegie Mellon University



CMU-CS-21-131

Code Generation Recovery Log Replay for
In-Memory Database Management Systems

Tianlei Pan

M.S. Thesis

June 2021

CMU-CS-21-131.pdf


Keywords: Code Generation, Log Replay, Recovery, query compilation

Code generation is an optimization technique for improving query execution throughput by compiling query plans into native code. This technique, however, leads to design challenges for the recovery system of a database amanagement system. The log replay process will be disjoint from the built-in execution engine that has adapted to operate efficiently on compiled code. This leads to the implementation of a separate execution engine to deal with the execution of log records, which can be a huge waste of engineering efforts. To resolve this design conflict between code generation and database recovery, we present a unified approach to support both query execution and log replay in a code-generation-based DBMS. We ask the recovery system to convert log records into compiled code that will be easily accepted by the execution engine. Our results show that while our approach incurs a higher performance overhead compared to using a separate execution engine, it requires much less engineering effort and is superior in index updates.

58 pages

Thesis Committee:
Andy Pavlo (Chair)
Wenting Ye

Srinivasan Seshan, Head, Computer Science Department
Martial Hebert, Dean, School of Computer Science


Return to: SCS Technical Report Collection
School of Computer Science

This page maintained by reports@cs.cmu.edu