the volcano optimizer
play

The Volcano Optimizer Generator Generator: Object-oriented and - PDF document

The Volcano Optimizer The Volcano Optimizer Generator Generator: Object-oriented and scientific Extensibility and database systems Allowing query optimization to be Efficient Search more tuned towards the application = Presentation:


  1. The Volcano Optimizer The Volcano Optimizer Generator Generator: � Object-oriented and scientific Extensibility and database systems � Allowing query optimization to be Efficient Search more tuned towards the application = Presentation: Alfred higher performance Discussion: Kati � (Expert) User optimize The Generator Paradigm Optimizer Generator � This is not the first time for this approach (EXODUS). � Volcano improves on the work of EXODUS: ease of use, expressiveness. Volcano Requirements Design Principles � Useable as standalone tool � Efficient � Support physical properties � Expressive – heuristics, directed search, cost functions 1

  2. Design Principles Optimizer: Input/Output � Relational algebra (logical and � Input: User Query => Logical algebra physical), especially to support OO expression � Rules-based => modularization � Output: Algorithms to access physical � Map queries to same algebraic equiv storage => Physical algebra as Volcano’s input expression � Rule compilation rather than � How does this relate back to the interpretation optimizer generator? � Dynamic programming Volcano: Input/Output (1) Volcano: Input/Output (2) � Set of logical operators � Input: Quite a few things! � Algebraic transformation rules (logical -> physical) � Output: Generated optimizer � Algorithms and enforcers � Implementation rules (operators to algorithms) � Cost functions � Logical properties � Physical property vector � Applicability function for each algorithm and enforcer � Property function for each operator algorithm and enforcer Volcano Plan Search Engine Volcano Plan Search Engine � Search engine is same for all � EXODUS did not consider the logical expressions together with the physical generated optimizers properties in the optimization costing. � Directed dynamic programming; goal- (Whereas Volcano does) oriented (driven by needs rather than � In OO systems, this can be used to more by possibilities) properly cost access of complex objects. � Find costs of promising moves � Volcano algorithm is top-down (lower levels (transform, algorithm, or enforcer) are explored only when warranted). 2

  3. Comparison to Starburst Comparison to Starburst � Starburst has a hierarchy of � Query rewrites in Starburst does not intermediate levels; harder to see include cost estimates. (Heuristic) interactions. Volcano uses an � Although paper is critical of this, algebraic approach which paper Volcano does allow for heuristic claims to be easier to understand. transformations to be specified. Discussion How good was it? Form groups and discuss: � Comparison between Volcano and Which of the query optimizers is the most EXODUS. effective and why do you think so? � Example used a small data model, Please write down key points either consisting of relational select and join supporting Starburst or Volcano. What operators only. were the advantages/disadvantages � As similar data model descriptions as provided by both systems? possible were specified for Volcano Does the authors’ criticism of Starburst have merit? and EXODUS. How good was it? How good was it? � How long did the optimization take? � Did the optimizers come out with similar estimates? 3

  4. How good was it? Summary � Volcano took less time to optimize. � EXODUS optimizer generator measurements were quite volatile and took a lot of memory. � EXODUS’s generated optimizer and search engine do not explore and exploit physical properties and interesting orderings. Summary Summary � Tools not just relational databases, � When and how to use heuristic but also object-oriented and scientific transforms vs. cost-sensitive databases. optimizations � Extensibility using optimizer � Physical properties considered generator. throughout the optimization, rather than considered after all logical � Separation of logical and physical transforms. algebras. Discussion The authors seem to be very proud of their work. Throughout their paper it sometimes feels as if you were reading an advertisement. Are there issues you are concerned about? Think about the user- friendliness of the system, and other things. What features do you think might have been improved by following DBMS (OO features ...)? 4

Recommend


More recommend