Date post: | 02-Jan-2016 |
Category: |
Documents |
Upload: | janice-carroll |
View: | 218 times |
Download: | 1 times |
04-19-2001 1
Rainbow - Bridging XML and Relational Databases: Design, Implementation, and Evaluation
MQP Advisor:Prof. Elke A. Rundensteiner, PhD
Sponsor:Verizon Laboratories Incorporated
MQP Project Members:MQP Project Members:
Tien Vu, Tien Vu,
Mirek Cymer, Mirek Cymer,
John LeeJohn Lee
04-19-2001 2
HTML vs. XML
04-19-2001 3
XML 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.
04-19-2001 4
XMLXMLDataData
SubSubsystemsystem
LegendLegend
Traditional System Architecture
XMLXML
XMLXMLQueryQuery
XMLXMLUserUser
XML Query EngineXML Query Engine
XML ManagerXML Manager
RDBMS
04-19-2001 5
Motivation for Flexible Mapping
CarCar
MakeMake
ModelModel
YearYear
car
Query Performance varies with respect to how data is mapped.Query Performance varies with respect to how data is mapped.
SELECT * FROM model;SELECT * FROM model;
SELECT model FROM car WHERE make = ‘Ford’;SELECT model FROM car WHERE make = ‘Ford’;
iid pid
1 0
… …
iid pid Value
2 1 Ford
… … …
iid pid Value
3 1 Mustang
… … … iid pid Value
3 1 2001
… … …
iid pid Make Model Year
1 0 Ford Mustang 2001
… … … … …
04-19-2001 6
XMLXMLDataData
SubSubsystemsystem
LegendLegend
Rainbow Architecture
XMLXML
XMLXMLQueryQuery
XMLXMLUserUser
XML Query EngineXML Query Engine
XML ManagerXML Manager
RDBMS
DTDDTD
DTD ManagerDTD Manager
Restructuring SubsystemRestructuring Subsystem
Flexible mapping = fixed Mapping + restructuringFlexible mapping = fixed Mapping + restructuring
04-19-2001 7
Rainbow Restructuring Subsystem
DTDDTD XMLXML
DTD ManagerDTD Manager XML ManagerXML Manager
SubSubsystemsystem
DataData
ProcessProcess
LegendLegend
XMLXMLQueryQuery
XMLXMLUserUser
XML Query EngineXML Query Engine
Restructuring SubsystemRestructuring Subsystem
04-19-2001 8
Rainbow Restructuring Subsystem
DTD XML
DTD Manager XML Manager
SubSubsystemsystem
DataData
ProcessProcess
LegendLegend
Res
truc
turi
ngR
estr
uctu
ring
Mapping
RestructureOperatorLibrary
RestructurerRestructurer
XMLQuery
XMLUser
XML Query Engine
04-19-2001 9
Restructuring 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
04-19-2001 10
Pushup Attribute Operator
A
B
A
B
x
x
DTD Modifications:DTD Modifications:
Data Changes:Data Changes:
CREATE VIEW out.$A ASCREATE VIEW out.$A AS
SELECT p.SELECT p.<all_columns>, c.$x, c.$x
FROM in.$A p, in.$B cFROM in.$A p, in.$B c
WHERE c.pid = p.iidWHERE c.pid = p.iid
CREATE VIEW out.$B ASCREATE VIEW out.$B AS
SELECT SELECT <all-columns-but-x>
FROM in.$BFROM in.$BPushup
In Out
04-19-2001 11
Instantiated Pushup Operator
Car
Model
Value
DTD Modifications:DTD Modifications:
Data Changes:Data Changes:
CREATE VIEW out.Car ASCREATE VIEW out.Car AS
SELECT p.iid, p.pid, c.valueSELECT p.iid, p.pid, c.value
FROM in.Car p, in.Model cFROM in.Car p, in.Model c
WHERE c.pid = p.iidWHERE c.pid = p.iid
CREATE VIEW out.Model ASCREATE VIEW out.Model AS
SELECT iid, pidSELECT iid, pid
FROM in.ModelFROM in.Model
Pushup
Car
ModelValue
In Out
pushUpAttribute(‘Model’, ‘Value’, ‘Car’, ‘Model’);
04-19-2001 12
Mapping
Mapping is a Sequence of Instantiated Operators For Example:
1. pushUpAttribute(‘Model’, ‘Value’, ‘Car’, ‘Model’);
2. renameAttribute(‘Car’, ‘Value’, ‘Model’);
CarCar
ModelModel
iid pid
1 0
… …
iid pid Value
3 1 Mustang
… … …
2
car
…
Mustang
Model
…
0
pid
…
1
iid1
car
…
Mustang
Value
…
0
pid
…
1
iid
ModelModel
…
1
pid
…
3
iid
04-19-2001 13
Rainbow 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
New39%
Reused18%
Extended43%
04-19-2001 14
Screen Shot of Rainbow
04-19-2001 15
Screen Shot of Rainbow
04-19-2001 16
Screen Shot of Rainbow
04-19-2001 17
Setup 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 IBM’s
XML-Generator
DTD CONTENT:DTD CONTENT:
<!ELEMENT one (two+)><!ELEMENT one (two+)>
<!ELEMENT two (three)><!ELEMENT two (three)>
<!ELEMENT three (four)><!ELEMENT three (four)>
<!ELEMENT four (five)><!ELEMENT four (five)>
<!ELEMENT five (six)><!ELEMENT five (six)>
<!ELEMENT six (seven)><!ELEMENT six (seven)>
<!ELEMENT seven EMPTY><!ELEMENT seven EMPTY>
<!ATTLIST seven attribute #REQUIRED><!ATTLIST seven attribute #REQUIRED>
04-19-2001 18
Query Performance Evaluation
Time of Join Query (data-size=22Mb)
0
10
20
30
40
0 1 2 3 4 5 6 7
# of PushUpAttribute
Que
ry T
ime
(s)
Time of Join Query
04-19-2001 19
Overhead Cost
Time of overhead (datasize=22Mb)
050
100150200250300350
0 1 2 3 4 5 6 7
# of pushUpAttribute
Res
truct
ure
Tim
e (s
)
overhead time
04-19-2001 20
MQP 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
04-19-2001 21
Potential Future Work
XML query translation to SQL Experiment with test plans and test beds to realize
the full potential of the restructuring component.
04-19-2001 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