One Size Fits None - (Everything You Learned in Your DBMS Class is Wrong)
Prof. Michael Stonebraker, MIT
Recorded 30 May 2013 in Lausanne, Vaud, Switzerland
Event: SuRI - I&C - Summer Research Institute
The traditional wisdom for building DBMSs is to:
- organize blocks of data on disk, with a main memory block cache.
- implement an Aries-style write-ahead log.
- use record level locking.
- utilize a multi-threaded architecture.
- Use an active-passive architecture for replication
- use multi-threading
This traditional wisdom is exemplified in all the major DBMS products, including DB2, MySQL, Postgres, SQL Server, and Oracle. In a paper in ICDE 2005, we argued that “one size does not fit all” and that a variety of data management solutions should be considered for deployment. Nine years later, we make an even stronger statement; namely the traditional wisdom is all wrong, and systems architected according to it are not good at anything.
Unless you squint, the DBMS market is divided into thirds, namely On-Line Transaction Processing (OLTP), data warehousing (DW) and everything else. The “everything else” market is a mix of No_SQL, hadoop, graph DBMSs bases, array DBMSs, etc. None of these relate to the traditional wisdom; hence, we deal with the other two markets.
In the DW market, it is clear that the world is moving to column stores, and the only successful vendors will be selling that technology. We explain the architecture that implements systems column stores like Vertica, Hana and Paraccel. As will be crystal clear, column stores have no relationship to the traditional wisdom.
Then, we turn to OLTP DBMSs and argue, using performance numbers, that a main memory orientation with anti-caching of main memory objects when space is exhausted is a far better alternative than a disk based system with caching. Similarly, a transaction log dominates a data log, such as Aries and an active-active architecture for replication is preferred to an active-passive one. Lastly, deterministic concurrency control solutions are similarly dominant, compared to dynamic locking. In short, next generation OLTP systems will be built using anti-caching, single-threading, deterministic execution, and active-active replication. They will bear little resemblance to today’s traditional systems.
In summary, the traditional wisdom is not a good idea in any application area, and “one size fits none”. I expect DBMS textbooks, future DBMS courses and the commercial market will quickly reflect this point of view.
Watched 34583 times.Watch