Traditionally, query optimizers assume a direct mapping from the
logical entities modeling the data and the physical entities storing the
data , each physical entity corresponding precisely to one logical entity.
This assumption cannot be relied upon in many modern applications. In
addition, there is an increased amount of (semantic) redundancy, even at the
logical level, that can greatly enhance optimization opportunities, if
exploited. In this context, we propose a novel architecture for query
optimization, in which physical optimization interacts with semantic
optimization at the level of query rewriting.
Our technique relies on describing the relationship between physical and
logical schemas, as well as semantic integrity constraints by the same class
of logical sentences. Queries are "chased" with the constraints into a
"universal plan" whose subqueries obtained by "backchase" define the search
space for query plans. There are some nice theoretical results and some
experiments that suggest the technique is practical.
Joint work with Lucian Popa, Alin Deutsch and Arnaud Sahuguet