Logic-based query optimization for object databases

TitleLogic-based query optimization for object databases
Publication TypeJournal Articles
Year of Publication2000
AuthorsGrant J, Gryz J, Minker J, Raschid L
JournalIEEE Transactions on Knowledge and Data Engineering
Pagination529 - 547
Date Published2000/08//Jul
ISBN Number1041-4347
Keywordsaccess scope, application domain, class hierarchy information, Constraint optimization, data integrity, Data models, Datalog, Datalog representation, deductive databases, equivalent logic query, integrity constraints, Lifting equipment, Logic, logic based query optimization, logic programming, logic queries, logic query, logical representation, object data model, object databases, object queries, object schema, object-oriented databases, ODL, ODMG database schemas, optimization technique, optimized OQL queries, OQL object query, query languages, Query optimization, query optimization techniques, Query processing, Relational databases, residue technique, semantic knowledge, semantic query optimization

We present a technique for transferring query optimization techniques, developed for relational databases, into object databases. We demonstrate this technique for ODMG database schemas defined in ODL and object queries expressed in OQL. The object schema is represented using a logical representation (Datalog). Semantic knowledge about the object data model, e.g., class hierarchy information, relationship between objects, etc., as well as semantic knowledge about a particular schema and application domain are expressed as integrity constraints. An OQL object query is represented as a logic query and query optimization is performed in the Datalog representation. We obtain equivalent (optimized) logic queries, and subsequently obtain equivalent (optimized) OQL queries for each equivalent logic query. We present one optimization technique for semantic query optimization (SQO) based on the residue technique of U. Charavarthy et al. (1990; 1986; 1988). We show that our technique generalizes previous research on SQO for object databases. We handle a large class of OQL queries, including queries with constructors and methods. We demonstrate how SQO can be used to eliminate queries which contain contradictions and simplify queries, e.g., by eliminating joins, or by reducing the access scope for evaluating a query to some specific subclass(es). We also demonstrate how the definition of a method or integrity constraints describing the method, can be used in optimizing a query with a method