Analyzing and improving table space allocation

  • Authors:
  • Shanchan Wu;Yefim Shuf;Hong Min;Hubertus Franke;Bala Iyer;Frances H. Villafuerte;Julie Watts

  • Affiliations:
  • University of Maryland, College Park, MD;IBM T. J. Watson Research Center, Yorktown Heights, NY;IBM T. J. Watson Research Center, Yorktown Heights, NY;IBM T. J. Watson Research Center, Yorktown Heights, NY;IBM Silicon Valley Lab, San Jose, CA;IBM Silicon Valley Lab, San Jose, CA;IBM Silicon Valley Lab, San Jose, CA

  • Venue:
  • ADC '11 Proceedings of the Twenty-Second Australasian Database Conference - Volume 115
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Space allocation is a fundamental operation performed by a database management system (DBMS) when it inserts a record into a table. A good space allocation algorithm quickly locates and reserves enough space for a record, places it closer to its related records, and utilizes the available space. Satisfying these conflicting requirements is challenging and trade-offs are carefully balanced by well-chosen heuristics. As a DBMS evolves over time, especially a commercial DBMS, its space allocation algorithm gets more sophisticated and complex and relies on many heuristics. Technological changes, new applications, and greater data volumes render many legacy heuristics ineffective. These factors hinder understanding of space allocation behavior under many workload conditions and make it difficult to enhance the algorithm without causing performance regressions for some of the workloads. To facilitate research and study the performance of a table space allocation algorithm of a modern DBMS in real-world workload scenarios, we build an extensible simulation framework. We analyze algorithm behavior and make surprising observations. We use the findings to further improve the existing algorithm by proposing algorithm enhancements and showing their benefits with respect to key performance metrics. In conclusion, the proposed framework has been effective in research to understand the performance, improve the space allocation algorithms, and to guide the developers of a commercial DBMS.