70 likes | 243 Views
COMPUTER ENGINEERING DEPARTMENT. TECHNICAL UNIVERSITY OF LODZ, POLAND. Wrapping Relational Data Structures to Object-Oriented Databases in the Data Grid Architecture. Radoslaw Adamus, Kamil Kuliberda , Jacek Wislicki, Kazimierz Subieta. SOFSEM-SRF 2006, January 21-26, Merin, Czech Republic.
E N D
COMPUTER ENGINEERING DEPARTMENT TECHNICAL UNIVERSITY OF LODZ, POLAND Wrapping Relational Data Structures to Object-Oriented Databases in the Data Grid Architecture Radoslaw Adamus,Kamil Kuliberda, Jacek Wislicki, Kazimierz Subieta SOFSEM-SRF 2006, January 21-26, Merin, Czech Republic
Wrappers Introduction • problem started in late 80-ties – first approaches concerning object-oriented wrappers built on top of the relational database; • motivation for the wrapper – business data virtual integration; • transparency – grid needs this; • data optimization – utilization of optimization mechanisms in both data models; • used techologies – Stack-Based Approach (SBA), M0 model, SBQL, Updateable Views • ”Data Grid” conception • integrates business information; • data-intensive grid – simply data grid; • simplification of data access; • common grid data model for virtualization of local schemata – canonical data model; • implementation is based on ODRA database engine
Global client 1 Global client 2 Global client 3 Global schema Global infrastructures (trust, transactions, indexing, workflow, enhanced web services) Grid designer Global virtual object and service store (implemented through global views) Integration schema Wrapper + Contributory views Contributory schema Wrapper + Contributory views Contributory schema Local server 1 Local server 2 Local schema Local schema Data Grid architecture
Object-to-relational wrapper • it combines exploiting SBQL query engine and SQL query engine; • externally data structure is designed according to the object-oriented model • and business intention of global schema – front-end; • internally relational structures are presented as M0 model – back-end; • updateable object views define mapping between front-end and • back-end, B into F for querying, F onto B for updating; • the wrapper utilizes three major optimization methods for back-end side: • - rewriting (for instance pushing selections before joins), • - indices (i.e. internal auxiliary structures for fast access), • - fast joins (e.g. hash joins); • during optimization, SBQL syntactic query tree is first modified from business to M0 model; • wrapper obtain much larger tree, but addressing a primitive object database that is 1:1 mapped • to corresponding relational database; • in resulting tree wrapper is looking for some patterns that can be mapped • to SQL and which enforce SQL optimization methods; • example; if we know that RDBMS has an index for Name of Person we are looking for pattern • Person where Name = “Doe”; • then we substitute above pattern for dynamic SQL statement: • exec_immediately(select * from Person where Name = “Doe”);
SBQL front-end query Business model (object oriented) Parser front-end SBQL query tree External wrapper (updatable views + query modification) Rewriting query optimizer M0 representation of relational model back-end SBQL query tree Internal wrapper (convertion of parts of the tree to SQL exec_immediately) SBQL interpreter Dynamic SQL (ODBC, JDBC, ADO,...) RDBMS Info on indices and fast joins Relational model Wrapper architecture
Conclusions, future work • presented wrapper architecture enables building generic solutions allowing presentation of data stored in various relational resources as object-oriented models • these models are visible at the top level of the grid and accessing the data with object query language; • presented optimization process assumes correct relational-to-object model transformation (with no loss of database logic) • allow on accessibility of the relational model optimization information such as indices and/or primary-foreign key relations; • the method is currently being implemented as a part of our new project ODRA devoted to Web and grid applications; • currently, based on presented conception, our research concerns object-to-semistructured wrapper exploiting native optimization mechanisms for querying semistructured data (e.g. Lore DBMS XML-based);