Остановите войну!
for scientists:
default search action
Review
- Divesh Srivastava:
Review - EROC: A Toolkit for Building NEATO Query Optimizers. ACM SIGMOD Digit. Rev. 2 (2000)
Query optimizer development is generally considered a complex and time-consuming process, something not undertaken often. A consequence of this fact is that enhancing an existing query optimizer with, for example, new search strategies and cost estimation techniques, is often intractable.
To alleviate this problem, much research has been done in developing optimizer toolkits (such as EXODUS, Volcano, Cascades, OPT++). These toolkits spare the implementor the relatively complex task of writing a search engine (sometimes allowing the implementor a choice between search strategies as well), and allow for some degree of extensibility in adding new transformation rules (allowing the optimizer to explore a larger search space to identify a good plan).
The interesting observation made by McKenna et al. in this paper is that a variety of carefully defined and implemented abstractions (besides the search engine) should be reusable, and hence should be part of an optimizer generator toolkit. The key insights are that:
- many query components can be abstractly represented as "expressions", including arithmetic expressions, aggregate expressions, predicates, queries, execution plans, etc.,
- a rule-based expression enumerator can be used uniformly on these abstract expressions, both to generate an optimizer search space, and to perform predicate transformations, and
- the costing algorithm is independent of the search space enumerator, allowing for Volcano-style costing to be combined with (bottom-up) Starburst-style join enumeration.
After reading this paper, I certainly obtained a better understanding of the complexity involved in developing extensible query optimizers, and I would recommend this paper to anyone who wishes to gain a deep understanding of this subject.
[Full Disclosure: The first author is a former colleague. However, this has not affected my views of the paper.]
- Divesh Srivastava:
Review - EROC: A Toolkit for Building NEATO Query Optimizers. ACM SIGMOD Digit. Rev. 2 (2000)
manage site settings
To protect your privacy, all features that rely on external API calls from your browser are turned off by default. You need to opt-in for them to become active. All settings here will be stored as cookies with your web browser. For more information see our F.A.Q.