This document is the report for the authors’ joint eﬀort in researching and designing a query optimizer for fast’s next-generation search platform, known as MARS. This work was done during the pre-project to the master thesis at the Department of Computer and Information Science at the Norwegian University of Science and Technology, autumn 2008.MARS does not currently employ any form of query optimizer, but does have a parser and a runtime system. The report therefore focuses on the core query optimizing aspects, like plan generation and optimizer design. First, we give an introduction to query optimizers and selected problems. Then, we describe previous and ongoing eﬀorts regarding query optimizers, before shifting focus to our own design and results.MARS supports DAG-structured query plans, which means that the optimizer must do so too. This turned out to be a greater task than what it might seem like. The optimizer also needed to be extensible, including the ability to deal with query operators it does not know, as well as supporting arbitrary cost models.During the course of the project, we have laid out the design of an optimizer we believe satisfies these goals. DAGs are currently not fully supported, but the design can be extended to do so. Extensibility is solved by loose coupling between optimizer components. Rules are used to model operators, and the cost model is a separate, customizable component. We have also implemented a prototype that demonstrates that the design actually works.
Page rendered at Saturday, December 20, 2014 6:46:31 AM (W. Europe Standard Time, UTC+01:00)
Hans Olav Norheim is a certified database and application developer,
working as a developer on the SQL Azure team at Microsoft in Redmond, WA.
Hans Olav is passionate about databases, naturally SQL Server in particular.
When not in front of his computer, Hans Olav can be seen up in the sky flying a glider, climbing a rock,
in a boat or out with friends.
The opinions expressed herein are my own personal opinions and do not represent
my employer's view in anyway.