Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Rainbow - Bridging XML and Relational Databases: Design, Implementation, and Evaluation MQP Project Members: MQP Advisor: Tien Vu, Prof. Elke A. Rundensteiner, PhD Mirek Cymer, Sponsor: John Lee Verizon Laboratories Incorporated 04-19-2001 1 HTML vs. XML 04-19-2001 2 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 3 Traditional System Architecture XML Query User XML Legend XML Query Engine XML Data RDBMS Sub system XML Manager XML 04-19-2001 4 Motivation for Flexible Mapping Query Performance varies with respect to how data is mapped. Car iid pid 1 0 … … SELECT * FROM model; Make iid pid Value 2 1 Ford … … … SELECT model FROM car WHERE make = ‘Ford’; car Model iid pid Value 3 1 Mustang … … … 04-19-2001 iid pid Make Model Year 1 0 Ford Mustang 2001 … … … … … Year iid pid Value 3 1 2001 … … … 5 Rainbow Architecture XML Query User XML Legend XML Query Engine Restructuring Subsystem DTD Manager DTD RDBMS XML Manager XML Data Sub system XML Flexible mapping = fixed Mapping + restructuring 04-19-2001 6 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. 04-19-2001 7 Rainbow Restructuring Subsystem XML Query User XML Legend XML Query Engine Sub system Data Restructuring Subsystem Process DTD Manager DTD 04-19-2001 XML Manager XML 8 Rainbow Restructuring Subsystem XML Query User XML Legend XML Query Engine Restructuring Sub system Mapping Data Restructure Operator Library Restructurer Process DTD Manager DTD 04-19-2001 XML Manager XML 9 Restructuring Library Optimization Pushup/Pushdown Attribute Pushup/Pushdown Nesting Organization Rename Item/Attribute Completeness SwitchNesting Split/Merge Nesting Reference/Dereference 04-19-2001 10 Pushup Attribute Operator A A B Push-up B a b 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 04-19-2001 11 Instantiated Restructuring Operators Mapping = Operators + Parameters. pushUpAttribute(‘Model’, ‘Value’, ‘Car’, ‘Model’); Car Value Car Value Parent Model Parent Mustang Model Value Parent Mustang 04-19-2001 12 Rainbow Implementation 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 04-19-2001 # of Classes 17 19 8 New Reused Extended 13 Screen Shot of Rainbow 04-19-2001 14 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 04-19-2001 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> 15 Query Performance Evaluation Time of Join Query (data-size=22Mb) Query Time (s) 40 30 20 10 0 0 1 2 3 4 5 6 7 # of PushUpAttribute Time of Join Query 04-19-2001 16 Overhead Cost Restructure Time (s) Time of overhead (datasize=22Mb) 350 300 250 200 150 100 50 0 0 1 2 3 4 5 6 7 # of pushUpAttribute overhead time 04-19-2001 17 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 04-19-2001 18 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 19 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 04-19-2001 20