Rule-based optimization and query processing in an extensible geometric database system
- 1 June 1992
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Database Systems
- Vol. 17 (2) , 247-303
- https://doi.org/10.1145/128903.128905
Abstract
Gral is an extensible database system, based on the formal concept of a many-sorted relational algebra. Many-sorted algebra is used to define any application's query language, its query execution language, and its optimiztion rules. In this paper we describe Gral's optimization component. It provides (1) a sophisticated rule language—rules are transformations of abstract algebra expressions, (2) a general optimization framework under which more specific optimization algorithms can be implemented, and (3) several control mechanisms for the application of rules. An optimization algorithm can be specified as a series of steps. Each step is defined by its own collection of rules together with a selected control strategy. The general facilities are illustrated by the complete design of an example optimizer—in the form of a rule file—for a small nonstandard query language and an associated execution language. The query language includes selection, join, ordering, embedding derived values, aggregate functions, and several geometric operations. The example shows in particular how the special processing techniques of a geometric database systems, such as spatial join methods and geometric index structures, can be integrated into query processing and optimization of a relational database system. A similar, though larger, optimizer is fully functional within the geometric database system implemented as a Gral prototype.Keywords
This publication has 21 references indexed in Scilit:
- An algebra for structured office documentsACM Transactions on Information Systems, 1989
- On the translation of relational queries into iterative programsACM Transactions on Database Systems, 1989
- GENESIS: an extensible database management systemIEEE Transactions on Software Engineering, 1988
- A practical divide-and-conquer algorithm for the rectangle intersection problemInformation Sciences, 1987
- Simplifying Complex Objects: The PROBE Approach to Modelling and Querying ThemPublished by Springer Nature ,1987
- The design of a relational database system with abstract data types for domainsACM Transactions on Database Systems, 1986
- Optimal divide-and-conquer to compute measure and contour for a set of iso-rectanglesActa Informatica, 1984
- Query Optimization in Database SystemsACM Computing Surveys, 1984
- The Grid FileACM Transactions on Database Systems, 1984
- Decomposition—a strategy for query processingACM Transactions on Database Systems, 1976