In Memory Database Optimisations
Paper proposes that with by introducing a low overhead buffer manager with variable-size pages a comparable performance to in-memory database system (for the cached working set) can be achieved by a SSD based system.
Two hardware trends that cast strong doubt on pure in-memory systems. First, affordable RAM sizes are not increasing significantly anymore (> 2TB are extremely costly). Second, SSDs have achieved astonishing improvements (3.5 GBps) while costing only $500.
Combining large main memory buffers with fast SSDs is an attractive alternative as the cost is much lower and performance can be nearly as good.
Genuine in-memory performance on the cached working set, and transparent scaling beyond main memory where required.
Combines low overhead buffering with variable-size pages.
Buffer Pool memory mangement
Pointer Swizzling
Versioned Latches
Buffer-Managed Relations
Recovery
String Handling
Statistics
Compilation & Execution
Umbra can achieve in-memory performance if the entire dataset fits into RAM, while fully utilizing the available disk I/O bandwidth if the data has to be spilled to disk. Introduced a novel low overhead buffer manager that renders this kind of performance possible. Also investigated key adaptations to other components of an in-memory database system that are required for the transition to an SSD-based system.
https://drive.google.com/file/d/1NpRTD28S_5MU9M8kRlxBGWlktRf_c4fN/view?usp=drive_link