Opt++ is a tool for Database Query Optimization that uses the Object-Oriented features of the C++ programming language to simplify the task of implementing, extending and modifying an optimizer. It incorporates all the features of of an extensible optimization framework including specification of a logical algebra, execution algorithms, logical and physical query processing alternatives, and selectivity and cost estimation.

Our goal was to extract out those parts of a query optimizer which are not dependent upon any query language and put together an extendible and flexible package with the intention of simplifying the task of writing the query optimizer. We do not make any assumptions about the query language and hence it is hoped that this tool can be used to write query optimizers for a large class of query languages.

Opt++ is used in the Paradise Parallel Database System.

Download OPT++ code.

Navin Kabra (navin@cs.wisc.edu)