200 likes | 305 Views
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.
E N D
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
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.
Traditional System Architecture XMLQuery XML User Legend RDBMS XML Query Engine XML Data Subsystem XML Manager XML
Motivation for Flexible Mapping • Query Performance varies with respect to how data is mapped. Car SELECT * FROM model; Make SELECT model FROM car WHERE make = ‘Ford’; car Model Year
Restructuring Subsystem DTD Manager DTD Rainbow Architecture XMLQuery XML User Legend RDBMS XML Query Engine XML Data Subsystem XML Manager XML • Flexible mapping = fixed Mapping + restructuring
Goals of our MPQ • Target: • Implement and evaluate restructuring subsystem within the large-scale Rainbow system. • Methodology: • Learn about the database technologies and web tools. • Translate research ideas to software system design. • Practice software engineering techniques. • Design an experimental test plan and test bed. • Conduct performance study and analysis.
Rainbow Restructuring Subsystem XMLQuery XML User Legend XML Query Engine Subsystem Data Restructuring Subsystem Process DTD Manager XML Manager DTD XML
Mapping Restructuring Restructure Operator Library Restructurer Rainbow Restructuring Subsystem XMLQuery XML User Legend XML Query Engine Subsystem Data Process DTD Manager XMLManager DTD XML
Restructuring Library • Optimization • Pushup/Pushdown Attribute • Pushup/Pushdown Nesting • Organization • Rename Item/Attribute • Completeness • SwitchNesting • Split/Merge Nesting • Reference/Dereference
Pushup Attribute Operator A CREATE VIEW new.A (<all-columns>, a) AS SELECT A.<all_columns>, B.b FROM old.A, old.B WHERE B.pid = A.iid CREATE VIEW new.B (<all-columns-but-b>) AS SELECT B.<all-columns-but-b> FROM old.B A Push-up B a B b
Instantiated Restructuring Operators • Mapping = Operators + Parameters. pushUpAttribute(‘Model’, ‘Value’, ‘Car’, ‘Model’); Car Car Value Parent Value Model Parent Mustang Model Value Parent Mustang
Development Tools Java: Visual Café2, Javadocs, JAVA2 Oracle 8i, XML 4J, JDBC1.2, SQL Queries Code Facts 44 total system classes 17 classes created by Rainbow 19 classes extended 8 classes reused Rainbow Implementation
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: <!ELEMENT one (two+)> <!ELEMENT two (three)> <!ELEMENT three (four)> <!ELEMENT four (five)> <!ELEMENT five (six)> <!ELEMENT six (seven)> <!ELEMENT seven EMPTY> <!ATTLIST seven attribute #REQUIRED>
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 • Teamwork & S/W Engineering & Software Reuse • Logistics of setting up and running experiments
Potential Future Work • XML query translation to SQL • Experiment with test plans and test beds to realize the full potential of the restructuring component.
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