rainbow - bridging xml and relational databases: design, implementation, and evaluation

20
04-19-2001 1 Rainbow - Bridging XML and Relational Databases: Design, Implementation, and Evaluation MQP Advisor: MQP Advisor: Prof. Elke A. Prof. Elke A. Rundensteiner, PhD Rundensteiner, PhD Sponsor: Sponsor: Verizon Laboratories Verizon Laboratories Incorporated Incorporated MQP Project MQP Project Members: Members: Tien Vu, Tien Vu, Mirek Cymer, Mirek Cymer, John Lee John Lee

Upload: allene

Post on 05-Jan-2016

46 views

Category:

Documents


1 download

DESCRIPTION

Rainbow - Bridging XML and Relational Databases: Design, Implementation, and Evaluation. MQP Project Members: Tien Vu, Mirek Cymer, John Lee. MQP Advisor: Prof. Elke A. Rundensteiner, PhD Sponsor: Verizon Laboratories Incorporated. HTML vs. XML. XML Data Management by RDBMS. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Rainbow - Bridging XML and Relational Databases: Design, Implementation, and Evaluation

04-19-2001 1

Rainbow - Bridging XML and Relational Databases: Design, Implementation, and Evaluation

MQP Advisor:MQP Advisor:Prof. Elke A. Rundensteiner, PhDProf. Elke A. Rundensteiner, PhD

Sponsor:Sponsor:Verizon Laboratories IncorporatedVerizon Laboratories Incorporated

MQP Project Members:MQP Project Members:

Tien Vu, Tien Vu,

Mirek Cymer, Mirek Cymer,

John LeeJohn Lee

Page 2: Rainbow - Bridging XML and Relational Databases: Design, Implementation, and Evaluation

04-19-2001 2

HTML vs. XML

Page 3: Rainbow - Bridging XML and Relational Databases: Design, Implementation, and Evaluation

04-19-2001 3

XML Data Management by RDBMS Microsoft, IBM, Informix, Oracle,...Microsoft, IBM, Informix, Oracle,...

Advantages:Advantages: Matured database tools available.Matured database tools available. Efficient query and analysis tools.Efficient query and analysis tools. Easy integration with existing business databases.Easy integration with existing business databases.

Issues:Issues: Map between XML and Relational Model.Map between XML and Relational Model. Update Propagation.Update Propagation. Query Translation and Optimization.Query Translation and Optimization.

Page 4: Rainbow - Bridging XML and Relational Databases: Design, Implementation, and Evaluation

04-19-2001 4

XMLXMLDataData

SubSubsystemsystem

LegendLegend

Traditional System Architecture

XMLXML

XMLXMLQueryQuery

XMLXMLUserUser

XML Query EngineXML Query Engine

XML ManagerXML Manager

RDBMS

Page 5: Rainbow - Bridging XML and Relational Databases: Design, Implementation, and Evaluation

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’;

iidiid pidpid

11 00

…… ……

iidiid pidpid ValueValue

22 11 FordFord

…… …… ……

iidiid pidpid ValueValue

33 11 MustangMustang

…… …… …… iidiid pidpid ValueValue

33 11 20012001

…… …… ……

iidiid pidpid MakeMake ModelModel YearYear

11 00 FordFord MustangMustang 20012001

…… …… …… …… ……

Page 6: Rainbow - Bridging XML and Relational Databases: Design, Implementation, and Evaluation

04-19-2001 6

XMLXMLDataData

SubSubsystemsystem

LegendLegend

Rainbow Architecture

XMLXML

XMLXMLQueryQuery

XMLXMLUserUser

XML Query EngineXML Query Engine

XML ManagerXML Manager

RDBMSRestructuring SubsystemRestructuring Subsystem

DTDDTD

DTD ManagerDTD Manager

Flexible mapping = fixed Mapping + restructuringFlexible mapping = fixed Mapping + restructuring

Page 7: Rainbow - Bridging XML and Relational Databases: Design, Implementation, and Evaluation

04-19-2001 7

Goals of our MPQ Target:Target:

ImplementImplement and and evaluateevaluate restructuring subsystem within restructuring subsystem within the large-scale Rainbow system.the large-scale Rainbow system.

Methodology:Methodology: Learn about the database technologies and web tools.Learn about the database technologies and web tools. Translate research ideas to software system design.Translate research ideas to software system design. Practice software engineering techniques.Practice software engineering techniques. Design an experimental test plan and test bed.Design an experimental test plan and test bed. Conduct performance study and analysis.Conduct performance study and analysis.

Page 8: Rainbow - Bridging XML and Relational Databases: Design, Implementation, and Evaluation

04-19-2001 8

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

Page 9: Rainbow - Bridging XML and Relational Databases: Design, Implementation, and Evaluation

04-19-2001 9

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

Page 10: Rainbow - Bridging XML and Relational Databases: Design, Implementation, and Evaluation

04-19-2001 10

Restructuring Library

OptimizationOptimization Pushup/Pushdown AttributePushup/Pushdown Attribute Pushup/Pushdown NestingPushup/Pushdown Nesting

OrganizationOrganization Rename Item/AttributeRename Item/Attribute

CompletenessCompleteness SwitchNestingSwitchNesting Split/Merge NestingSplit/Merge Nesting Reference/DereferenceReference/Dereference

Page 11: Rainbow - Bridging XML and Relational Databases: Design, Implementation, and Evaluation

04-19-2001 11

Pushup Attribute Operator

CREATE VIEW new.A (CREATE VIEW new.A (<all-columns>, a) AS, a) ASSELECT A.SELECT A.<all_columns>, B.b, B.bFROM old.A, old.BFROM old.A, old.BWHERE B.pid = A.iidWHERE B.pid = A.iid

CREATE VIEW new.B (CREATE VIEW new.B (<all-columns-but-b>) AS) ASSELECT B.SELECT B.<all-columns-but-b>FROM old.BFROM old.B

A

B

A

B

Push-up

b

a

Page 12: Rainbow - Bridging XML and Relational Databases: Design, Implementation, and Evaluation

04-19-2001 12

Instantiated Restructuring Operators

Mapping = Operators + Parameters.Mapping = Operators + Parameters.

pushUpAttribute(‘Model’, ‘Value’, ‘Car’, ‘Model’);

CarCar

ModelModel

ValueValue ParentParent

MustangMustang

ValueValue ParentParent ValueValue ModelModel

CarCar

MustangMustang

ParentParent

Page 13: Rainbow - Bridging XML and Relational Databases: Design, Implementation, and Evaluation

04-19-2001 13

Rainbow Implementation Development ToolsDevelopment Tools

Java: Visual Café2, Java: Visual Café2, Javadocs, JAVA2Javadocs, JAVA2

Oracle 8i, XML 4J, Oracle 8i, XML 4J, JDBC1.2, SQL QueriesJDBC1.2, SQL Queries

Code FactsCode Facts 44 total system classes44 total system classes 17 classes created by 17 classes created by

RainbowRainbow 19 classes extended19 classes extended 8 classes reused8 classes reused

# of Classes

17

8

19

New Reused Extended

Page 14: Rainbow - Bridging XML and Relational Databases: Design, Implementation, and Evaluation

04-19-2001 14

Screen Shot of Rainbow

Page 15: Rainbow - Bridging XML and Relational Databases: Design, Implementation, and Evaluation

04-19-2001 15

Setup for Rainbow Evaluation ExperimentalExperimental

Database Server: Database Server: Oracle 8i on a PII 300MHz, 256MB, Microsoft NT ServerOracle 8i on a PII 300MHz, 256MB, Microsoft NT Server

Client: Client: Pentium 233MHz, 128MB, Microsoft NT WorkstationPentium 233MHz, 128MB, Microsoft NT Workstation

DataData Designed a DTDDesigned a DTD Generated XML using IBM’s Generated XML using IBM’s

XML-GeneratorXML-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>

Page 16: Rainbow - Bridging XML and Relational Databases: Design, Implementation, and Evaluation

04-19-2001 16

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

Page 17: Rainbow - Bridging XML and Relational Databases: Design, Implementation, and Evaluation

04-19-2001 17

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

Page 18: Rainbow - Bridging XML and Relational Databases: Design, Implementation, and Evaluation

04-19-2001 18

MQP Accomplishments

Technical accomplishmentsTechnical accomplishments Implemented functional prototype systemImplemented functional prototype system Confirmed feasibility of Rainbow architectureConfirmed feasibility of Rainbow architecture Designed automated test bedDesigned automated test bed Conducted preliminary experimental studiesConducted preliminary experimental studies

Knowledge acquiredKnowledge acquired OO, Java, JDBC, SQL, RDBMS, XML, DTDOO, Java, JDBC, SQL, RDBMS, XML, DTD Teamwork & S/W Engineering & Software ReuseTeamwork & S/W Engineering & Software Reuse Logistics of setting up and running experimentsLogistics of setting up and running experiments

Page 19: Rainbow - Bridging XML and Relational Databases: Design, Implementation, and Evaluation

04-19-2001 19

Potential Future Work

XML query translation to SQLXML query translation to SQL Experiment with test plans and test beds to realize Experiment with test plans and test beds to realize

the full potential of the restructuring component.the full potential of the restructuring component.

Page 20: Rainbow - Bridging XML and Relational Databases: Design, Implementation, and Evaluation

04-19-2001 20

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