3.    Fundamental Concepts in Cascades



           This section describes Cascades terminology. It is a review of the Cascades Framework as represented by the code of Goetz Graefe [Graefe 94] [Graefe 95], and to some extent, its predecessor Volcano1 [Graefe 93] [McKenna 93]. The purpose is to introduce the datatypes used in writing a model of a database system in the Cascades Framework.

           We first distinguish between logical and physical models, covering logical operators and logical properties, followed by physical operators and physical properties. Finally, we look at rules -- the mechanism for exploring alternate logical and physical representations for the initial query.


Logical and Physical Models

           A query optimizer is developed for a particular query processing environment. A model in Cascades describes the features specific to the particular DBMS corresponding to this query processing environment.

           The structure of a Cascades model is influenced by the concept of data independence, discussed in section 2. Thus, Cascades models can be broken into two pieces, the logical model and the physical model. The logical model relates to the semantics of the database system -- what is to be computed. The physical model relates to such things as data structures, implementation algorithms and storage devices -- how it is to be computed. Together the logical and physical models form a particular Cascades model which represents both the logical and physical aspects of a particular database system.

1. Volcano, the predecessor of Cascades, and Exodus, the predecessor of Volcano, are discussed in Section 5.

3. Fundamental Concepts:    <Models> <Log> <Query Trees> <Groups> <Memo> <Phys> <Item> <Rules> <Opt Stages> <Find Best> <Complexity>
  3.1: EQJOIN     3.2a: Query Tree     3.2b: Equiv.     3.3a: Init Memo     3.3b: Memo     3.3c: Key     3.4: Complexity     3.5: Phys Memo     3.6: Plan     3.7: Pred.     3.8: Op Types     3.9: Rule  

 Page 1