MARS
|
|
MARS Overview
What
MARS is a system for publishing as XML data from mixed, relational+XML,
proprietary storage, while supporting redundancy in storage for tuning
purposes. The correspondence between public and proprietary schemas
is given by a combination of LAV
and GAV-style views expressed
in XQuery. XML and relational integrity constraints are also taken into
consideration. Starting with client XQueries formulated against the
public schema, MARS achieves the combined effect of
rewriting-with-views, composition-with-views and
query minimization under integrity constraints to obtain optimal reformulations against the
proprietary schema.
MARS achieves the uniform treatment of XML and relational storage
by first reducing the reformulation problem to that of minimization of
relational queries
in the presence of relational constraints. The
relational minimization is next performed by a core module which
implements the Chase & Backchase algorithm
(see the list of publications).
|
Why
The problem of query reformulation is a very general one: given two schemas
P and S and a correspondence CR between them, and given a query Q formulated in terms of P, find a query X formulated in terms of S that is equivalent
to Q modulo the correspondence CR.
Reformulation algorithms have many uses
in database technology, for example in data integration where P is the global
integrated schema and S gathers the local schemas of the actual data sources,
or in schema evolution where P is the old schema and S is the new schema.
With this system our motivation and specific challenges come from XML publishing,
where P is the public XML schema and S is the storage schema of the proprietary data
from which selected portions are published.
Typically, the proprietary data resides in relational databases (RDB)
and lately also in native XML document storage (e.g., if acquired through XML exchange).
Clients formulate queries against the public XML schema and
the publishing system must reformulate these into queries on the storage schema
data in order to answer them.
|
The Demo
The demo focuses on the chase of relational queries and constraints, in which
the only logical connector allowed is the conjunction. Nevertheless, the last version
of MARS supports disjunction also. The interface allows to visualize
the individual steps of a chase sequence and to
navigate through them, showing each time how the chosen constraint was mapped
into the query and how the query was modified, leading to a new query plan.
|
|
|