Current OLTP database designs, which date largely from the 1970s, are based on several assumptions about the architecture of database applications and hardware that are less true today than they were 30 years ago. For example, all but the very largest OLTP applications can fit in main memory of a modern shared-nothing cluster of server machines. On a single node with a memory resident database, OLTP transactions take only a few microseconds to execute. Additionally, many applications carefully construct database transactions so they have no user stalls.
Taken together, both of these points mean there is a large class of OLTP applications for which a single-threaded execution engine with no concurrency control performs very well, avoiding the need for high overhead, locking-based pessimistic concurrency control protocols designed to keep CPUs busy during disk and user stalls. Further, the cost of computers has dropped so dramatically in the past thirty years that paying for a dedicated database administrator has become one of the dominant costs in running a database system, such that tools that automate design and tuning have great value. Finally, the architecture of a server node has also shifted — the number of cores available to process data is proliferating.
The goal of the H-Store project is to investigate how these architectural and application shifts affect the performance of OLTP databases, and to study what performance benefits would be possible with a complete redesign of OLTP systems in light of these trends. Our early results show that a simple prototype built from scratch using modern assumptions can outperform current commercial DBMS offerings by around a factor of 80 on OLTP workloads.
Part of this work was sponsored by the NSF under grants IIS-0845643 and IIS-0704424, the Natural Sciences and Engineering Research Council of Canada, and VoltDB, Inc.