Go to unit's home.

Home | DTI | 2007–08 funded proposals | Mohamed F. Mokbel, Robert Bestgen

Initiatives in Digital Technology: 2007–08 Funded Proposals

Mohamed F. Mokbel, Robert Bestgen

Exploiting Adaptive and Progressive Query Processors in Commercial Database Systems

The query processor module is one of the most important modules in any database management system as it is mainly concerned with the efficient execution of user SQL queries. The query processor module mainly consists of two components, the query optimizer and the query executor. For the last two decades, most database systems use the plan-first execute-next approach for efficient execution of SQL user queries. In such approach, the query optimizer smartly enumerates all possible plans to execute the given SQL query and chooses the best query plan according to some statistical information. The job of the query executor is a straightforward execution of the best query plan. Recently, such model becomes unpredictable due to two main reasons: (1) Users tend to pose more complex query over large-scale data that was not existing before. Thus, query optimizers tend to do mistakes that result in suboptimal query plans with orders of magnitude less performance, (2) Data tend to be retrieved from remote and different sources, in which statistical information are not accurately available. Thus, the query optimizer has no clue how to build its decision. In this project, we aim to tackle this model by furnishing the query executor with smart operators and monitoring techniques that continuously monitor the query execution performance. If the query executor detects a significant lower performance than expected, it send a feedback to the query optimizer asking for query re-optimization, i.e., another query plan. In addition, the query executor updates the statistical information in which the query optimizer will rely on for choosing the new plan and optimizing future incoming queries. This project will be done in collaboration with the iSeries Database Query Optimizer team at IBM Rochester. IBM Rochester is located in Rochester, Minnesota where they are mainly responsible on developing the iSeries database engine. We envision that this project will be a seed of large collaboration between UMN and IBM Rochester. In addition, this project will result in graduating a PhD student specializing in adaptive query processing issues.