MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Paper Id 86 Rule-Based Query Optimization, Revisited

Download:
Download as a PDF | Download as a PS
by Lane B. Warshaw, Daniel P. Miranker
http://www.arlut.utexas.edu/~warshaw/papers/Sigmod98.ps
Add To MetaCart

Abstract:

We present an overview and initial performance assessment of a rule-based query optimizer written in VenusDB. VenusDB is an active-database rule language embedded in C++. Following the developments in extensible database query optimizers, first in rule-based form followed by optimizers written as object-oriented programs, the VenusDB optimizer avails the advantages of both. To date, development of rule-based query optimizers have included the definition and implementation of custom rule languages. Thus, extensibility required detailed understanding and often further development of the underlying search mechanism of the rule system. Objectoriented query optimizers appear to have achieved their goals with respect to a clear organization and encapsulation of an optimizer's elements. They do not, however, provide for the concise, declarative expression of domain specific heuristics. Our experience demonstrates that a rule-based query optimizer developed in VenusDB can be well structured, flexible, and demonstrate good performance. We compare a relational optimizer developed with Volcano and a functionally identical optimizer developed with VenusDB. The results demonstrate comparable performance on small queries with few joins, while the VenusDB optimizer scales better and outperforms Volcano on larger joinarity queries. Since we did not have to develop a specialized rule language or consider application specific programming constructs, the source code for the optimizer is small and straightforward, about one-third the size. Similar code comparisons with an object-based optimizer, the VenusDB optimizer reveals similar benefit.

Citations

3677 Design patterns: elements of reusable object-oriented software – Gamma, Helm, et al. - 1995
698 Parallel program design: a foundation – Chandy, Misra - 1988
549 Soar: An architecture for general intelligence – Laird, Newell, et al. - 1987
504 A Complexity Measure – McCabe - 1976
148 The EXODUS Optimizer Generator – Graefe, DeWitt - 1987
138 The Volcano Optimizer Generator : Extensibility and Efficient Search – McKenna - 1993
83 Extensible/Rule Based Query Rewrite Optimization – Pirahesh, Hellerstein, et al. - 1992
45 The integration of rule systems and database systems – Stonebraker - 1992
38 Assessing the Maintainability of XCON-in-RIME: Coping with Problems of a very Large Rule Base – Soloway, Bachant, et al. - 1987
32 A performance comparison of the Rete and TREAT algorithms for testing database rule conditions – WANG, HANSON - 1992
27 Processing queries for first-few answers – Miranker - 1996
26 On the performance of lazy matching in production systems – Miranker, Brant, et al. - 1990
20 OPT++ : an objectoriented implementation for extensible database query optimization – DeWitt - 1999
12 Prairie: A rule specification framework for query optimizers – Das, Batory - 1995
10 A new approach to modularity in rule-based programming – al - 1994
9 Universal subgoaling – Laird - 1984
6 Evaluating automatable measures of software development – Basili - 1979
6 A Case Study of Venus and a Declarative Bases for Rule Modules – Warshaw, Miranker - 1996
4 Selective Indexing Speeds Production Systems – Obermeyer, Miranker, et al. - 1995
4 An Overview of the VenusDB Active Multidatabase System – Miranker, Obermeyer - 1996
2 Evaluating triggers using decision trees – Obermeyer, Miranker - 1997
2 Livny and R.Ramakrishnan. The Case for Enhanced Abstract – Sesshadri
1 R1("XCON") at age 12: Lessons for an elmentary school achiver – McDermott
1 zsu, Adriana Munoz, Duana Szafron. "An Extensible Query Optimizer for an Objectbase Management System – Tamer - 1995