Solid state disks (SSDs) are rapidly changing the I/O landscape, one that has been dominated by traditional hard disk drives for the last 50 years. While SSDs have already made significant inroads into the laptop and desktop markets, they are increasingly being used in high-end database servers, especially for holding the database log and for temporary storage. Another very promising application of SSDs is as an extension of the traditional main memory DBMS buffer pool.
In , we present and explore three alternative designs for extending SQL Server's main memory buffer pool with an SSD: clean-write (CW), dual-write (DW), and lazy-cleaning (LC), respectively. These designs differ in the way that they deal with dirty pages when they are evicted from the main memory buffer pool. The CW design never writes dirty pages to the SSD. When a dirty page is evicted from the buffer pool, the DW design writes it “simultaneously” to both the database and the SSD (like a write-through cache). The LC design, on the other hand, writes dirty pages to the SSD first, and then lazily copies pages from the SSD to the database (like a write-back cache). We implemented these three alternatives, as well another recently proposed algorithm for this task (TAC), in SQL Server 2008 R2, and evaluated them using a variety of benchmarks (TPC-C, E and H) at multiple scale factors. Our empirical evaluation shows significant performance improvements (up to 9.4X) over the base case, and up to a 6.8X speedup over TAC.
Unlike a traditional buffer pool, if an SSD is used to extend a database system's buffer pool, its contents survive software and hardware crashes. In  we explore alternative techniques for reusing the contents of the SSD on restart to reduce the time required to reach peak performance.
- Jaeyoung Do, Microsoft
- Donghui Zhang, Paradigm4 (formerly Microsoft)
- Jignesh Patel, University of Wisconsin-Madison
- David DeWitt, Microsoft
- Alan Halverson, Microsoft
- Jeffrey Naughton, University of Wisconsin-Madison
 "Turbocharging DBMS Buffer Pool Using SSDs", Do, J., Zhang, D., Patel, J., DeWitt, D., Naughton, J., and A. Halverson, Proceedings of the 2011 ACM SIGMOD Conference, Athens, Greece, June 2011.
 "FastPeak-to-Peak Restart for SSD Buffer Pool Extension", Do, J., Zhang, D., Patel, J., and D. DeWitt, Submitted to the 2012 ICDE Conference.