Title: Rainbow - Bridging XML and Relational Databases: Design, Implementation, and Evaluation
1Rainbow - Bridging XML and Relational Databases
Design, Implementation, and Evaluation
- MQP Advisor
- Prof. Elke A. Rundensteiner, PhD
- Sponsor
- Verizon Laboratories Incorporated
MQP Project Members Tien Vu, Mirek Cymer, John
Lee
2HTML vs. XML
3XML Data Management by RDBMS
- Microsoft, IBM, Informix, Oracle,...
- Advantages
- Matured database tools available.
- Efficient query and analysis tools.
- Easy integration with existing business
databases. - Issues
- Map between XML and Relational Model.
- Update Propagation.
- Query Translation and Optimization.
4Traditional System Architecture
XMLQuery
XML
User
Legend
RDBMS
XML Query Engine
XML Data
Subsystem
XML Manager
XML
5Motivation for Flexible Mapping
- Query Performance varies with respect to how
data is mapped.
Car
SELECT FROM model
iid pid
1 0
Make
SELECT model FROM car WHERE make Ford
iid pid Value
2 1 Ford
car
iid pid Make Model Year
1 0 Ford Mustang 2001
Model
iid pid Value
3 1 Mustang
Year
iid pid Value
3 1 2001
6Rainbow Architecture
XMLQuery
XML
User
Legend
RDBMS
XML Query Engine
XML Data
Subsystem
XML Manager
XML
7Rainbow Restructuring Subsystem
XMLQuery
XML
User
Legend
XML Query Engine
Subsystem
Data
Restructuring Subsystem
Process
DTD Manager
XML Manager
DTD
XML
8Rainbow Restructuring Subsystem
XMLQuery
XML
User
Legend
XML Query Engine
Subsystem
Data
Process
DTD Manager
XML Manager
DTD
XML
9Restructuring Operator Library
- Library contains following operators
- Pushup/Pushdown Attribute
- Pushup/Pushdown Nesting
- Rename Item/Rename Attribute
- SwitchNesting
- Split/Merge Nesting
- Reference/Dereference
- Operator is composed of
- DTD Modifications
- Data Changes
10Pushup Attribute Operator
DTD Modifications
Data Changes
In
Out
A
A
CREATE VIEW out.A AS SELECT p.ltall_columnsgt,
c.x FROM in.A p, in.B c WHERE c.pid p.iid
B
B
x
x
CREATE VIEW out.B AS SELECT ltall-columns-but-xgt F
ROM in.B
Pushup
11Instantiated Pushup Operator
DTD Modifications
In
Out
Car
Car
Data Changes
CREATE VIEW out.Car AS SELECT p.iid, p.pid,
c.value FROM in.Car p, in.Model c WHERE c.pid
p.iid
Model
Model
Value
CREATE VIEW out.Model AS SELECT iid, pid FROM
in.Model
Value
pushUpAttribute(Model, Value, Car, Model)
Pushup
12Mapping
- Mapping is a Sequence of Instantiated Operators
- For Example
1. pushUpAttribute(Model, Value, Car,
Model) 2. renameAttribute(Car, Value,
Model)
Car
iid pid
1 0
Model
iid pid Value
3 1 Mustang
13Rainbow Implementation
- Development Tools
- Java Visual Café 4, Javadoc, JAVA2
- Oracle 8i, XML 4J, JDBC1.2, SQL
- Statistics of Class Implementation
- 44 total
- 17 created
- 19 extended
- 8 reused
14Screen Shot of Rainbow
15Screen Shot of Rainbow
16Screen Shot of Rainbow
17Setup for Rainbow Evaluation
- Experimental
- Database Server
- Oracle 8i on a PII 300MHz, 256MB, Microsoft NT
Server - Client
- Pentium 233MHz, 128MB, Microsoft NT Workstation
- Data
- Designed a DTD
- Generated XML using IBMs XML-Generator
DTD CONTENT lt!ELEMENT one (two)gt lt!ELEMENT
two (three)gt lt!ELEMENT three (four)gt lt!ELEMENT
four (five)gt lt!ELEMENT five (six)gt lt!ELEMENT six
(seven)gt lt!ELEMENT seven EMPTYgt lt!ATTLIST seven
attribute REQUIREDgt
18Query Performance Evaluation
19Overhead Cost
20MQP Accomplishments
- Technical accomplishments
- Implemented functional prototype system
- Confirmed feasibility of Rainbow architecture
- Designed automated test bed
- Conducted preliminary experimental studies
- Knowledge acquired
- OO, Java, JDBC, SQL, RDBMS, XML, DTD
- Logistics of setting up experiments
- Teamwork S/W Engineering Software Reuse
21Potential Future Work
- XML query translation to SQL
- Experiment with test plans and test beds to
realize the full potential of the restructuring
component.
22- Special thanks to
- Prof. Elke A. Rundensteiner Ph.D. Xin Zhang
- Visit Rainbow at http//davis.wpi.edu/dsrg/TJM/
- Project Members
- Tien Vu, Mirek Cymer, John Lee