skip to main content
Department of Computer Science University of Colorado Boulder
cu: home | engineering | mycuinfo | about | cu a-z | search cu | contact cu cs: about | calendar | directory | catalog | schedules | mobile | contact cs
home · events · colloquia · 1997-1998 · 

Colloquium - Cherniack

ECCR 265

Building Query Optimizers with Combinators
Brown University
Mitch Cherniack photo

Query optimizers generate plans to retrieve data requested by queries. This process typically is divided into two stages: a query rewriting (or algebraic optimization) stage that rewrites a posed query into an equivalent query that is more amenable to plan generation; and a plan generation stage that uses cost estimates to decide on a plan to retrieve the data specified by the rewritten query.

Query rewriting must be semantics-preserving (i.e., correct). But correctness is hard to ensure, even when rewrites are confined to queries over the relatively simple Relational Data Model. This was illustrated by the query rewrites proposed for nested (Relational) queries in [Kim82]. Despite being accompanied by "correctness proofs", these rewrites were later revealed to change the semantics of certain queries they transformed. With the advent of more complex data models, queries and hence query rewriting has become even more complex and error-prone.

In this talk, I will introduce a novel approach to expressing query rewrites that permits formal reasoning about their correctness. Unlike existing approaches which express rewrites fully or partially with programming language code, our approach enables the verification of query rewrites with a theorem prover. The key to our approach is a two-tiered language for expressing rewrites. The first tier (KOLA) is a language for representing queries that permits expression of basic rewrites using term rewriting rules. The second tier (COKO) is a language for controlling rule firing to support the expression of complex rewrites in terms of KOLA rules. I will also speak about ongoing work that explores semantic and dynamic optimization strategies for processing queries over object databases. The recurring theme of this work is that all of the proposed techniques are made possible by a combinator-based representation of queries.

Refreshments will be served immediately before the talk at 3:30pm.

The Department holds colloquia throughout the Fall and Spring semesters. These colloquia, open to the public, are typically held on Thursday afternoons, but sometimes occur at other times as well. If you would like to receive email notification of upcoming colloquia, subscribe to our Colloquia Mailing List. If you would like to schedule a colloquium, see Colloquium Scheduling.

Sign language interpreters are available upon request. Please contact Stephanie Morris at least five days prior to the colloquium.

See also:
Department of Computer Science
College of Engineering and Applied Science
University of Colorado Boulder
Boulder, CO 80309-0430 USA
Send email to

Engineering Center Office Tower
ECOT 717
FAX +1-303-492-2844
XHTML 1.0/CSS2 ©2012 Regents of the University of Colorado
Privacy · Legal · Trademarks
May 5, 2012 (13:29)