An architecture for query processing in persistent object stores

Query optimizers for persistent object systems should be extensible to react to user-supplied abstract types. Current architectures support only a single, non-extensible technique for controlling the optimization process. The authors propose an alternative to the current extensible architectures that will support multiple optimizer control strategies and the addition of new control strategies. The optimizer consists of a collection of optimization regions, each of which can transform queries according to a particular control strategy, set of transformations and cost model. A global optimizer control coordinates the movement of a query between these regions. This architecture provides extensibility in the optimizer's repertoire of control strategies through the addition of new regions. The authors describe their approach and demonstrate its utility by following the optimizer as it works on an example query. The optimizer will move the query between three distinct regions. The different regions illustrate different kinds of transformations and different strategies for application of those transformations.<<ETX>>

[1]  David Maier,et al.  Query Optimization in Object-Oriented Database Systems: A Prospectus , 1988, OODBS.

[2]  Umeshwar Dayal,et al.  Of Nests and Trees: A Unified Approach to Processing Queries That Contain Nested Subqueries, Aggregates, and Quantifiers , 1987, VLDB.

[3]  Stanley B. Zdonik,et al.  Object-Oriented Queries: Equivalence and Optimization , 1989, DOOD.

[4]  Fernando Vélez,et al.  O2, an Object-Oriented Data Model , 1992, Building an Object-Oriented Database System, The Story of O2.

[5]  Edward Sciore,et al.  A modular query optimizer generator , 1990, [1990] Proceedings. Sixth International Conference on Data Engineering.

[6]  Stanley B. Zdonik,et al.  Language and Methodology for Object-Oriented Database Environments , 1985, Data Types and Persistence.

[7]  Guido Moerkotte,et al.  Access support in object bases , 1990, SIGMOD '90.

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

[9]  Karen Ward,et al.  Dynamic query evaluation plans , 1989, SIGMOD '89.

[10]  Won Kim,et al.  Object-oriented database systems: in transition , 1990, SGMD.

[11]  Stanley B. Zdonik,et al.  A query algebra for object-oriented databases , 1990, [1990] Proceedings. Sixth International Conference on Data Engineering.

[12]  Elisa Bertino,et al.  Indexing Techniques for Queries on Nested Objects , 1989, IEEE Trans. Knowl. Data Eng..

[13]  Craig Schaffert,et al.  Abstraction mechanisms in CLU , 1977, Commun. ACM.

[14]  Umeshwar Dayal,et al.  PDM: An Object-Oriented Data Model , 1986, OODBS.

[15]  Catriel Beeri,et al.  Algebraic Optimization of Object-Oriented Query Languages , 1990, Theor. Comput. Sci..

[16]  Darrell Woelk,et al.  Query Processing in Distributed ORION , 1990, EDBT.

[17]  Clement T. Yu,et al.  Query Optimization in Object-Oriented Database Systems , 1990, DEXA.

[18]  Jay Banerjee,et al.  Data model issues for object-oriented applications , 1987, TOIS.

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

[20]  Guido Moerkotte,et al.  Function materialization in object bases , 1991, SIGMOD '91.

[21]  Patricia G. Selinger,et al.  Access path selection in a relational database management system , 1979, SIGMOD '79.

[22]  Sylvia L. Osborn Identity, Equality and Query Optimization , 1988, OODBS.

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

[24]  Patrick Valduriez,et al.  Optimization of Nonrecursive Queries in OODBs , 1991, DOOD.

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

[26]  Umeshwar Dayal,et al.  Queries and Views in an Object-Oriented Data Model , 1989, DBPL.