Abstract : Cost-Based Selection of Path Expression Processing in Object-Oriented Databases

Although many of the problems that must be solved by an object-oriented database system are similar to problems solved by relational systems, there are also many problems that are unique. In particular, an object query can include a path expression to traverse a number of related collections. The order of collection traversals given by the path expression may not be the most efficient to process the query. This generates a critical problem for object query optimizer to select an algorithm to process the query based on direct navigation or various combinations of joins . This paper studies the different algorithms to process path expressions with predicates, including depth first navigation, forward and reverse joins. Using a cost model, it then compares their performances in different cases, according to memory size, selectivity of predicates, fan out between collections, etc.. It also presents a heuristic-based algorithm to find profitable n-ary operators for traversing collections, thus reducing the search space of query plans to process a query with a qualified path expression. An implementation based on the O2 system demonstrates the validity of the results.

Key Words: Object-Oriented Databases, Paths, Query Optimization, Forward and Reverse Join, Search Space, Cost model.

Authors : Georges Gardarin, Jean-Robert Gruser and Zhao-Hui Tang

Abstract : A Cost Model for Clustered Object-Oriented Databases

Query processing is one of the most critical issues in Object-Oriented DBMSs. Extensible optimizers with efficient search strategies require a cost model to select the most efficient execution plans. In this paper we propose and partially validate a generic cost-model for Object-Oriented DBMSs. The storage model and its access methods support clustered and nested collections, links, and path indexes. Queries may involve complex predicates with qualified path expressions. We propose a method for estimating the number of block accesses to clustered collections and a parameterized execution model for evaluating predicates. We estimate the costs of path expression traversals in different cases of physical clustering of the supporting collections. The model is validated through experiments with the O2 DBMS.

Authors : Georges Gardarin, Jean-Robert Gruser and Zhao-Hui Tang

Postscript Version

Abstract: A Cost Model for Evaluating Path Expression using Placement Information

Query processing is one of the most critical issues in Object Oriented Database Management System. In this paper we present a cost-model for cost-driven query optimizer in a Object Oriented database where object clustering is permitted. We propose an execution model for evaluating predicate with path expression and we study the costs of path expression evaluation in different cases of physical grouping of these collections.

Authors : Jean-Robert Gruser and Zhao-Hui Tang

Postscript Version

Abstract : Design and Implementation of Flora, a Language for Object Algebra

Flora is a language for implementing object-oriented databases. As such, it is not intended to be a user language, but rather, an intermediate language capable of supporting a variety of higher-level languages and applications. Flora provides a very general data model with complex values and complex objects, constructs for specifying data storage, and a functional-style action language that incorporates set processing operations and a user-defined function capability. Thus, Flora provides the building blocks that allow the calling language to appropriately model higher-level constructs such as classes and inheritance, and to build complex queries in a manner that readily supports various optimization schemes.

Authors : D. Florescu, Jean-Robert Gruser, M. Novak, P. Valduriez and M. Ziane

Postscript Version