Summary
Traditional OLTP engines were designed when databases were much larger than memory. As main memory grew, many OLTP databases could fit entirely in RAM, which raised a question: where does a transaction's time actually go once disk I/O is no longer the bottleneck?
The authors instrument the Shore storage manager running a subset of the TPC-C workload and strip out components one at a time. They find that only a small fraction of instructions do useful work. Most of the time goes to buffer management, locking, latching and logging.
The result motivated a generation of main-memory OLTP systems, including H-Store and VoltDB, that remove these components through single-threaded partitions and other design changes. It is a clear lesson in measuring before optimising.
