Rule-Based Generation of Logical Query Plans with Controlled Complexity

Rule-based query optimizers are recognized as particularly valuable for extensible and object-oriented database management systems by providing a high flexibility in adapting query optimization strategies to nonstandard application needs. On the other hand rule-based optimizers are problematic with regard to run-time behavior for more complex queries as the generation of query plans based on a declarative rule base tends to be difficult to control. In this paper we show that this is not a fundamental problem of rule-based optimizers, but rather a question of careful design of the rule system. We exemplify this for one fundamental optimization problem, namely join enumeration for linear queries. There, a rule-based optimization strategy can achieve the theoretically optimal complexity. The design principles used to achieve this have been derived from and are used in the design of the VODAK query optimizer developed at GMD-IPSI.

[1]  Asuman Dogac,et al.  Implementation aspects of an object-oriented DBMS , 1995, SGMD.

[2]  Guy M. Lohman,et al.  Measuring the Complexity of Join Enumeration in Query Optimization , 1990, VLDB.

[3]  Michael Stonebraker,et al.  The design of POSTGRES , 1986, SIGMOD '86.

[4]  Goetz Graefe,et al.  Experiences building the open OODB query optimizer , 1993, SIGMOD Conference.

[5]  Georges Gardarin,et al.  A Rule-Based Query Optimizer with Multiple Search Strategies , 1994, Data Knowl. Eng..

[6]  Karl Aberer,et al.  Semantic query optimization for methods in object-oriented database systems , 1995, Proceedings of the Eleventh International Conference on Data Engineering.

[7]  Karl Aberer,et al.  Semantic Optimization of Biomolecular Queries in Object-oriented Database Systems , 1995 .

[8]  R. Fateman,et al.  A System for Doing Mathematics by Computer. , 1992 .

[9]  Hamid Pirahesh,et al.  Extensible query processing in starburst , 1989, SIGMOD '89.

[10]  Cem Evrendilek,et al.  Design and Implementation of an Object-Oriented SQL Query Processor with an Optimizer , 1993 .

[11]  Stanley B. Zdonik,et al.  An architecture for query processing in persistent object stores , 1992, Proceedings of the Twenty-Fifth Hawaii International Conference on System Sciences.

[12]  Patrick Valduriez,et al.  Extending the Search Strategy in a Query Optimizer , 1991, VLDB.

[13]  Ralf Hartmut Güting,et al.  Gral: An Extensible Relational Database System for Geometric Applications , 1989, VLDB.

[14]  Ralf Hartmut Güting,et al.  Rule-based optimization and query processing in an extensible geometric database system , 1992, TODS.

[15]  Toshihide Ibaraki,et al.  On the optimal nesting order for computing N-relational joins , 1984, TODS.

[16]  Goetz Graefe,et al.  Query evaluation techniques for large databases , 1993, CSUR.

[17]  David Jordan,et al.  The Object Database Standard: ODMG 2.0 , 1997 .

[18]  Tom Atwood,et al.  Object Database Standard: ODMG-93, Release 1.2 , 1995 .

[19]  Martin L. Kersten,et al.  Duplicate-Free Generation of Alternatives in Transformation-Based Optimizers , 1997, DASFAA.

[20]  Hamid Pirahesh,et al.  Starburst Mid-Flight: As the Dust Clears , 1990, IEEE Trans. Knowl. Data Eng..

[21]  Don S. Batory,et al.  GENESIS: An Extensible Database Management System , 1988, IEEE Trans. Software Eng..

[22]  David J. DeWitt,et al.  The EXODUS optimizer generator , 1987, SIGMOD '87.

[23]  Duane Szafron,et al.  An extensible query optimizer for an objectbase management system , 1995, CIKM '95.

[24]  Ming-Chien Shan,et al.  Rule-based query optimization in IRIS , 1989, CSC '89.

[25]  Ismailcem Budak Arpinar,et al.  METU object-oriented DBMS , 1994, SIGMOD '94.

[26]  GraefeGoetz Query evaluation techniques for large databases , 1993 .

[27]  Johann-Christoph Freytag,et al.  A rule-based view of query optimization , 1987, SIGMOD '87.

[28]  Erich J. Neuhold,et al.  Structured document storage and refined declarative and navigational access mechanisms in HyperStorM , 1997, The VLDB Journal.

[29]  M. Tamer Özsu,et al.  Query Processing in Object-Oriented Database Systems , 1995, Modern Database Systems.

[30]  Goetz Graefe,et al.  The Volcano optimizer generator: extensibility and efficient search , 1993, Proceedings of IEEE 9th International Conference on Data Engineering.