Using Solid State Drives as a Mid-Tier Cache in Enterprise Database OLTP Applications
When originally introduced, flash based solid state drives (SSD) exhibited a very high random read throughput with low sub-millisecond latencies. However, in addition to their steep prices, SSDs suffered from slow write rates and reliability concerns related to cell wear. For these reasons, they were relegated to a niche status in the consumer and personal computer market. Since then, several architectural enhancements have been introduced that led to a substantial increase in random write operations as well as a reasonable improvement in reliability. From a purely performance point of view, these high I/O rates and improved reliability make the SSDs an ideal choice for enterprise On-Line Transaction Processing (OLTP) applications. However, from a price/performance point of view, the case for SSDs may not be clear. Enterprise class SSD Price/GB, continues to be at least 10x higher than conventional magnetic hard disk drives (HDD) despite considerable drop in Flash chip prices.
We show that a complete replacement of traditional HDDs with SSDs is not cost effective. Further, we demonstrate that the most cost efficient use of SSDs for OLTP workloads is as an intermediate persistent cache that sits between conventional HDDs and memory, thus forming a three-level memory hierarchy. We also discuss two implementations of such cache: hardware or software. For the software approach, we discuss our implementation of such a cache in an in-house database system. We also describe off-the shelf hardware solutions. We will develop a Total Cost of Ownership (TCO) model for All-SSD and All-HDD configurations. We will also come up with a modified OLTP benchmark that can scale IO density to validate this model. We will also show how such SSD cache implementations could increase the performance of OLTP applications while reducing the overall system cost.
KeywordsSolid State Disks OLTP performance SSD caching DBMS buffer pool management
Unable to display preview. Download preview PDF.
- 1.Lee, S.-W., Moon, B., Park, C., Kim, J.-M., Kim, S.-W.: A Case for Flash Memory SSD in Enterprise Database Applications. In: Proceedings of the ACM SIGMOD, pp. 1075–1086 (2008)Google Scholar
- 2.Tsirogiannis, D., Harizopoulos, S., Shah, M.A., Wiener, J.L., Graefe, G.: Query processing techniques for solid state drives. In: Proceedings of the 35th SIGMOD International Conference on Management of Data, Providence, Rhode Island, USA, June 29-July 02 (2009)Google Scholar
- 3.Janukowicz, J., Reinsel, D., Rydning, J.: Worldwide solid state drive 2008-2012 forecast and analysis. IDC, Technical Report 212736 (2008)Google Scholar
- 4.Hetzler, S.R.: The storage chasm: Implications for the future of HDD and solid state storage (December 2008), http://www.idema.org
- 7.Kgil, T., Roberts, D., Mudge, T.: Improving NAND Flash Based Disk Caches. In: Proceedings of the 35th International Symposium on Computer Architecture, June 21-25, pp. 327–338. IEEE Computer Society, Washington (2008)Google Scholar
- 11.Narayanan, D., Thereska, E., Donnelly, A., Elnikety, S., Rowstron, A.: Migrating server storage to SSDs: analysis of tradeoffs. In: Proceedings of the 4th ACM European Conference on Computer Systems, EuroSys 2009, Nuremberg, Germany, April 01 - 03, pp. 145–158. ACM, New York (2009)Google Scholar
- 12.Adaptec MaxIQTM SSD Cache, http://www.adaptec.com/en-US/products/CloudComputing/MAXIQ/
- 13.Lee, S.-W., Moon, B.: Design of Flash-based DBMS: an In-Page Logging Approach. In: Proceedings of the ACM SIGMOD, pp. 55–66 (2007)Google Scholar
- 14.Park, S.-Y., Jung, D., Kang, J.-U., Kim, J.-S., Lee, J.: CFLRU: a Replacement Algorithm for Flash Memory. In: The 2006 International Conference on Compilers, Architecture and Synthesis for Embedded Systems (CASES 2006), pp. 234–241 (October 2006)Google Scholar
- 15.Poess, M., Nambiar, R.O.: Energy Cost, The Key Challenge of Today’s Data Centers: A Power Consumption Analysis of TPC-C Results. In: Proceedings of VLDB (2008)Google Scholar
- 16.Intel X25 SSD drives, http://www.intel.com/design/flash/nand/extreme/index.htm
- 17.Kavalanekar, S., Narayanan, D., Sankar, S., Thereska, E., Vaid, K., Worthington, B.: Measuring Database Performance in Online Services: A Trace-Based Approach. In: Nambiar, R., Poess, M. (eds.) TPCTC 2009. LNCS, vol. 5895, pp. 132–145. Springer, Heidelberg (2009)Google Scholar