Testing challenges for extending SQL server's query processor: a case study

  • Authors:
  • Torsten Grabs;Steve Herbert;Xin (Shin) Zhang

  • Affiliations:
  • Microsoft SQL Server, Microsoft Corp., Redmond, WA;Microsoft SQL Server, Microsoft Corp., Redmond, WA;Microsoft SQL Server, Microsoft Corp., Redmond, WA

  • Venue:
  • Proceedings of the 1st international workshop on Testing database systems
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

With enterprise-class database systems like Microsoft SQL Server, changing mission-critical components such as the relational database engine pose significant challenges to the engineering teams involved. This is because customers carefully configure, tune, and test applications and the underlying database system for their specific scenario to ensure they achieve desirable performance. This situation poses particular challenges for developing and extending existing database components of high complexity such as relational query processing where a change to a policy or heuristics may adversely affect performance of a customer workload [1]. Mitigating risk of regressions through a variety of testing and validation techniques during development is essential for the database system engineering team. In this paper, we present a case study to demonstrate the challenges of testing an extension to the query processor in Microsoft SQL Server 2008 targeted at improved query performance for star join queries [2]. We discuss the unique range of problem spaces which must be addressed, and present an overview of the variety of techniques that are used to provide a high level of quality. Our main contribution is an iterative process of interleaved development and performance test phases using customer workloads to quantify performance improvement and to limit regressions. We present our experiences with this approach and explore some future opportunities with the hope that they will encourage discussion and additional research in the area of query processor architecture and testing.