Model-based testing in practice
Proceedings of the 21st international conference on Software engineering
The Data Warehouse Toolkit: The Complete Guide to Dimensional Modeling
The Data Warehouse Toolkit: The Complete Guide to Dimensional Modeling
Optimal strategies for testing nondeterministic systems
ISSTA '04 Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis
C-store: a column-oriented DBMS
VLDB '05 Proceedings of the 31st international conference on Very large data bases
Optimizing Star Join Queries for Data Warehousing in Microsoft SQL Server
ICDE '08 Proceedings of the 2008 IEEE 24th International Conference on Data Engineering
Testing cardinality estimation models in SQL server
DBTest '12 Proceedings of the Fifth International Workshop on Testing Database Systems
Hi-index | 0.00 |
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.