A Multi-Level Logic Programming Model of a Query Optimizer

The paper describes a rule-based query optimizer for object-oriented databases. The originality of the approach is through a multi-level logic programming used to model the variety of knowledge contained in the query optimizer in an explicit, declarative and transparent way. Our approach offers means of abstraction for expressing various kinds of knowledge involved in a query optimizer. It also offers techniques for structuring them according to both generality levels and knowledge content, i.e. meta-levels. We present a programming technique that allows to write modules which can be at various meta-levels. To illustrate these ideas, we show how multi-level programming can be used to model a query optimizer for an object-oriented database. Among the various kinds of knowledge involved, we have (besides the queries themselves - first or object level) techniques for query manipulations and transformation, as well as cost models (second or meta- level), techniques for combining transformations, search strategies, techniques for cost model selection (third or meta-meta- level), and optimization plans (fourth level). The optimizer architecture based on this model is presented.

[1]  Philippe Pucheral,et al.  OFL: a functional execution model for object query languages , 1995, SIGMOD '95.

[2]  Donald Sannella,et al.  A Calculus for the Construction of Modular Prolog Programs , 1987, J. Log. Program..

[3]  Robert A. Kowalski,et al.  Logic for problem solving , 1982, The computer science library : Artificial intelligence series.

[4]  Laura Giordano,et al.  Structured Prolog: A Language for Structured Logic Programming , 1994, Softw. Concepts Tools.

[5]  Leon Sterling,et al.  Metainterpreters for Expert System Construction , 1989, J. Log. Program..

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

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

[8]  Francis G. McCabe,et al.  Logic and objects , 1992, Prentice Hall International Series in Computer Science.

[9]  P. Mello Inheritance as combination of horn clause theories , 1991 .

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

[11]  Michael Stonebraker,et al.  The design and implementation of INGRES , 1976, TODS.

[12]  Yannis E. Ioannidis,et al.  Incomplete path expressions and their disambiguation , 1994, SIGMOD '94.

[13]  Martin Kersten,et al.  Cost distribution of search spaces in query optimization. , 1994 .

[14]  ZhaoHui Tang,et al.  Cost-Controlled OFL Rewriting Rules for Multiple Collection Traversals , 1996, International Hong Kong Computer Society Database Workshop.

[15]  Irving L. Traiger,et al.  System R: A Relational Approach to Data Base Management , 1976, Berkeley Workshop.

[16]  Irving L. Traiger,et al.  System R: relational approach to database management , 1976, TODS.

[17]  Evelina Lamma,et al.  An Extended Warren Abstract Machine for the Execution of Structured Logic Programs , 1992, J. Log. Program..

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

[19]  Luís Monteiro,et al.  Contextual Logic Programming , 1989, ICLP.

[20]  Mitchell Wand,et al.  Reification: Reflection without metaphysics , 1984, LFP '84.

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

[22]  Johann Eder,et al.  Advances in Databases and Information Systems , 1996, Workshops in Computing.

[23]  Donald D. Chamberlin,et al.  Access Path Selection in a Relational Database Management System , 1989 .

[24]  Dianxiang Xu,et al.  Logical objects with constraints , 1995, SIGP.