This article provides an overview of recent developments in mainmemory
database systems. With growing memory sizes and memory
prices dropping by a factor of 10 every 5 years, data having a “primary
home” in memory is now a reality. Main-memory databases eschew
many of the traditional architectural pillars of relational database
systems that optimized for disk-resident data. The result of these
memory-optimized designs are systems that feature several innovative
approaches to fundamental issues (e.g., concurrency control, query processing)
that achieve orders of magnitude performance improvements
over traditional designs. Our survey covers five main issues and architectural
choices that need to be made when building a high performance
main-memory optimized database: data organization and storage, indexing,
concurrency control, durability and recovery techniques, and
query processing and compilation. We focus our survey on four commercial
and research systems: H-Store/VoltDB, Hekaton, HyPer, and
SAP HANA. These systems are diverse in their design choices and form
a representative sample of the state of the art in main-memory database
systems. We also cover other commercial and academic systems, along with current and future research trends.
1