Breaking the Memory Wall in MonetDB
Boncz, Kersten, Manegold
rdbms database architecture column store cache tuning algorithms memory
@article{boncz:cacm-2008,
title={Breaking the Memory Wall in {MonetDB}},
author={Peter A. Boncz and Martin L. Kersten and Stefan Manegold},
journal={Communications of the {ACM}},
volume={51},
number={12},
month={December},
year={2008}
}
Database technology is increasingly outdated
- Originally designed for architectures in which disk I/O was the dominating performance factor
- Originally designed for transaction processing
Computer architecture has changed dramatically though
- Multiple levels of cache must be effectively utilized, for both data and instructions
- Processor pipelining requires independent, predictable code
Database usage has also evolved from transaction-oriented use to include online analysis of large data sets
MonetDB covers several areas to address these:
- Storage based on columns, which better utilizing caches, particularly for analysis tasks
- Simplified, highly optimized, and cache conscious query algebra and operator algorithms, implementations
- Self-calibrating, optimizing query path planning based on sophisticated memory access cost models