Identifying hot and cold data in main-memory databases
Authors:
- 1 April 2013
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- No. 10636382,p. 26-37
Abstract
Main memories are becoming sufficiently large that most OLTP databases can be stored entirely in main memory, but this may not be the best solution. OLTP workloads typically exhibit skewed access patterns where some records are hot (frequently accessed) but many records are cold (infrequently or never accessed). It is more economical to store the coldest records on secondary storage such as flash. As a first step towards managing cold data in databases optimized for main memory we investigate how to efficiently identify hot and cold data. We propose to log record accesses - possibly only a sample to reduce overhead - and perform offline analysis to estimate record access frequencies. We present four estimation algorithms based on exponential smoothing and experimentally evaluate their efficiency and accuracy. We find that exponential smoothing produces very accurate estimates, leading to higher hit rates than the best caching techniques. Our most efficient algorithm is able to analyze a log of 1B accesses in sub-second time on a workstation-class machine.Keywords
This publication has 12 references indexed in Scilit:
- Compacting transactional data in hybrid OLTP&OLAP databasesProceedings of the VLDB Endowment, 2012
- HyPer: A hybrid OLTP&OLAP main memory database system based on virtual memory snapshots2011
- HYRISEProceedings of the VLDB Endowment, 2010
- A survey of top- k query processing techniques in relational database systemsACM Computing Surveys, 2008
- LIRS2002
- LRFU: a spectrum of policies that subsumes the least recently used and least frequently used policiesIEEE Transactions on Computers, 2001
- The LRU-K page replacement algorithm for database disk buffering1993
- Data cache management using frequency-based replacement1990
- The 5 minute rule for trading memory for disc accesses and the 10 byte rule for trading memory for CPU time1987
- The working set model for program behaviorCommunications of the ACM, 1968