Object Relational Mapping for Database Integration



Similar documents
Fact Sheet In-Memory Analysis

What is Data Virtualization? Rick F. van der Lans, R20/Consultancy

What is Data Virtualization?

1 File Processing Systems

Generating XML from Relational Tables using ORACLE. by Selim Mimaroglu Supervisor: Betty O NeilO

Services. Relational. Databases & JDBC. Today. Relational. Databases SQL JDBC. Next Time. Services. Relational. Databases & JDBC. Today.

WEB APPLICATION DEVELOPMENT. UNIT I J2EE Platform 9

UltraQuest Cloud Server. White Paper Version 1.0

CACHÉ: FLEXIBLE, HIGH-PERFORMANCE PERSISTENCE FOR JAVA APPLICATIONS

Oracle Data Integrator integration with OBIEE

Object Oriented Database Management System for Decision Support System.

Performance Comparison of Persistence Frameworks

Introduction. Introduction: Database management system. Introduction: DBS concepts & architecture. Introduction: DBS versus File system

EDG Project: Database Management Services

Accessing Your Database with JMP 10 JMP Discovery Conference 2012 Brian Corcoran SAS Institute

IBM DB2 XML support. How to Configure the IBM DB2 Support in oxygen

Introduction: Database management system

Oracle SQL Developer for Database Developers. An Oracle White Paper September 2008

SAP Business Objects Business Intelligence platform Document Version: 4.1 Support Package Data Federation Administration Tool Guide

Cache Database: Introduction to a New Generation Database

MySQL for Beginners Ed 3

1 Changes in this release

Research Article. ISSN (Print) *Corresponding author Lili Wang

Oracle SQL Developer for Database Developers. An Oracle White Paper June 2007

ICOM 6005 Database Management Systems Design. Dr. Manuel Rodríguez Martínez Electrical and Computer Engineering Department Lecture 2 August 23, 2001

FileMaker 11. ODBC and JDBC Guide

SQL Databases Course. by Applied Technology Research Center. This course provides training for MySQL, Oracle, SQL Server and PostgreSQL databases.

This guide specifies the required and supported system elements for the application.

Programming Against Hybrid Databases with Java Handling SQL and NoSQL. Brian Hughes IBM

WHITE PAPER. Domo Advanced Architecture

Oracle8/ SQLJ Programming

AWS Schema Conversion Tool. User Guide Version 1.0

Using DOTS as Apache Derby System Test

Introduction Web Portal Main Page Group Management Create group Modify Group Member List... 5

Oracle Database 12c Plug In. Switch On. Get SMART.

Cocoon Field Day. Cocoon & Persistence

Service Desk Intelligence System Requirements

DIABLO VALLEY COLLEGE CATALOG

Aspects of using Hibernate with CaptainCasa Enterprise Client

XTM Web 2.0 Enterprise Architecture Hardware Implementation Guidelines. A.Zydroń 18 April Page 1 of 12

DB2 Application Development and Migration Tools

Chapter 13. Introduction to SQL Programming Techniques. Database Programming: Techniques and Issues. SQL Programming. Database applications

Migrating Non-Oracle Databases and their Applications to Oracle Database 12c O R A C L E W H I T E P A P E R D E C E M B E R

Oracle Architecture, Concepts & Facilities

A Brief Introduction to MySQL

DataDirect XQuery Technical Overview

D61830GC30. MySQL for Developers. Summary. Introduction. Prerequisites. At Course completion After completing this course, students will be able to:

Geodatabase Programming with SQL

CS 377 Database Systems SQL Programming. Li Xiong Department of Mathematics and Computer Science Emory University

Using SQL Developer. Copyright 2008, Oracle. All rights reserved.

System requirements. Java SE Runtime Environment(JRE) 7 (32bit) Java SE Runtime Environment(JRE) 6 (64bit) Java SE Runtime Environment(JRE) 7 (64bit)

AWS Schema Conversion Tool. User Guide Version 1.0

IT2304: Database Systems 1 (DBS 1)

Programa de Actualización Profesional ACTI Oracle Database 11g: SQL Tuning Workshop

database abstraction layer database abstraction layers in PHP Lukas Smith BackendMedia

Enterprise Application Development In Java with AJAX and ORM

Complex Data and Object-Oriented. Databases

Witango Application Server 6. Installation Guide for OS X

System Requirements Table of contents

A Scalable Data Transformation Framework using the Hadoop Ecosystem

IT2305 Database Systems I (Compulsory)

Spring Data JDBC Extensions Reference Documentation

Migration to SQL Server With Ispirer SQLWays 6.0

Developing Microsoft SQL Server Databases MOC 20464

Performance Tuning for the JDBC TM API

Using Temporary Tables to Improve Performance for SQL Data Services

HP OO 10.X - SiteScope Monitoring Templates

Katta & Hadoop. Katta - Distributed Lucene Index in Production. Stefan Groschupf Scale Unlimited, 101tec. sg{at}101tec.com

Introduction to Databases

BRINGING INFORMATION RETRIEVAL BACK TO DATABASE MANAGEMENT SYSTEMS

Introduction and Overview for Oracle 11G 4 days Weekends

White Paper: 1) Architecture Objectives: The primary objective of this architecture is to meet the. 2) Architecture Explanation

Toad for Oracle 8.6 SQL Tuning

Adam Rauch Partner, LabKey Software Extending LabKey Server Part 1: Retrieving and Presenting Data

Equipment Room Database and Web-Based Inventory Management

Oracle Database 10g: Building GIS Applications Using the Oracle Spatial Network Data Model. An Oracle Technical White Paper May 2005

CS2Bh: Current Technologies. Introduction to XML and Relational Databases. Introduction to Databases. Why databases? Why not use XML?

Database System Architecture & System Catalog Instructor: Mourad Benchikh Text Books: Elmasri & Navathe Chap. 17 Silberschatz & Korth Chap.

Nimsoft Monitor. cmdbgtw Guide. v1.0 series

An Oracle White Paper August Oracle Database Auditing: Performance Guidelines

The Different Types of Search and Execution Systems

Increasing Driver Performance

An Oracle White Paper June Migrating Applications and Databases with Oracle Database 12c

irods and Metadata survey Version 0.1 Date March Abhijeet Kodgire 25th

Postgres Plus xdb Replication Server with Multi-Master User s Guide

Apache Sentry. Prasad Mujumdar

Oracle Fusion Middleware

BUILDING OLAP TOOLS OVER LARGE DATABASES

1. INTRODUCTION TO RDBMS

Database Access from a Programming Language: Database Access from a Programming Language

Database Access from a Programming Language:

Oracle to MySQL Migration

PG DAC. Syllabus. Content. Eligibility Criteria

Install BA Server with Your Own BA Repository

Monitoring HP OO 10. Overview. Available Tools. HP OO Community Guides

SpagoBI exo Tomcat Installation Manual

DBQT - Database Query Tool Manual 1/11. Manual DBQT. Database Query Tool. Document Version: unu.ch

Clustering Versus Shared Nothing: A Case Study

FileMaker 12. ODBC and JDBC Guide

Transcription:

Object Relational Mapping for Database Integration Erico Neves, Ms.C. (enevesita@yahoo.com.br) State University of Amazonas UEA Laurindo Campos, Ph.D. (lcampos@inpa.gov.br) National Institute of Research of Amazonia INPA Brazil

Presentation Scope Introduction Objectives Previous works ORM Models Simulations Results Conclusions

Introduction Data integration is the problem of combining data residing at different sources, and providing the user with a unified view of this data; An old problem, but still not solved; Integration is divided into two main approaches: Schema integration reconciles schema elements; Instance integration matches tuples and attribute values.

Introduction Developers have many difficulties to integrate data from different sources in their applications: Usually, the computer languages offer a basic support to execute queries; Most part of work is left to developer hands; Relational databases must be translated to Object Oriented applications; Data type conversion; Possible solution with XML. One approach is use database views are used to create integration.

Objectives Present an API to create data integration on Instance level; The API will be used in application program; Two requisites to execute this are: No temporary views from databases will be used; Databases will be used just to retrieve and store data no requisites to know other databases; This API will also offer an approach to allow Object materialization.

Previous Works In 1986, Frank, Madnick and Wang proposed the following problem:

Previous Works There are some implementations of Object to Relational Mapping (ORM) for Java: All base their Schema Mappings using XML; Developer creates a XML file that informs how the application will see the tables in database; This XML file also informs the relations between the table's attributes and the application's object attributes. Examples: Hibernate; Java Data Objects (JDO); etc...

Previous Works Example Hibernate: <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="someclass" table="tableindatabase"> <id name="classattribute" column="columnnameindatabase"/> <property name="date" type="timestamp" column="event_date"/> (OPTIONAL) </class> </hibernate-mapping>

Previous Works Disadvantages: All application classes, that reflect informations from database's tables, must have a information reflecting in this XML; Any changes in the database, implies in change in application XML file; Developer may use different names to represent attributes in databases and objects; Main focus is Object to Relational Mapping, not data integration.

ORM Models Java offers a standard access to SQL databases, using JDBC; JDBC does not implement any ORM; JDBC is a flexible tool to create new approaches to ORM;

ORM Models As Java offers tools to create objects dynamically in application, we can use any object created by user; In this Application, we wish to follow the steps: After query execution, a view in application is created, representing the query's result; These application views can be integrated in application.

ORM Model Architecture

ORM Model Structure to access data:

ORM Model DBConnection class in detail:

ORM Model A Class Join is used to create and manipulate the index; The Joins between tables from different datasources is implemented using the classes BlackRed and BlackRedNode; These classes implements a Black-Red tree;

ORM Model Developer chooses one field from each table, and an index will be created; The functions allowed to relate data are: Join, Not Join, Left Join and Right Join.

ORM Model Join class used to create and use the index:

ORM Model The Index relationship:

ORM Model Comparator used to implement Object type conversion:

ORM Model The Data Types problem: Developers execute a query, and a DataModel object is created; In this object, the types described in database are transformed to Objects; If the each column from both tables are numeric The Numeric Objects are transformed to java.math.bigdecimal; If one Object is numeric and the other is a String object, both are converted to java.math.bigdecimal; If both are Strings, no conversion is required.

ORM Model This API also works with LOB data types; If the selection brings an information, which data type is a CLOB or BLOB type, two Objects are created: CLOBType BLOBType The CLOBType also implements a like search, that implements the same function as SQL like command.

Simulations Four situations where tested using the following network structure: Oracle Server NetFinity 7100 2 Pentiun III 700 Mhz DataBase 1 Postgres Server mobile AMD Athlon 1.8 Ghz DataBase 2 Ehternet Network Client Machine Linux Pentium III 700 Mhz

Simulations The simulations were divided in 4 types: Situation 1 - Only one column and one row from a table in DataBase 1 (Oracle) was related with one column from DataBase 2; Situation 2 - Only one column and one row from table in DataBase 1 was related with all columns from DataBase 2; Situation 3 - All columns and one row from table in DataBase 1 related with all columns from DataBase 2; Situation 4 - All columns and rows from Database 1 related with all rows and columns from Database 2.

Simulations Results for Simulation 1:

Simulations Result for Simulation 2:

Simulations Results for Situation 3:

Simulations The results for Situation 4 were not analysed, because memory failures; Main reason is the high number of objects allocated in memory Possible solution: Create a cache system to store in hard drive data not used. If queries do not require a high number of columns, the system does not get any error.

Conclusion This presentation showed a API to execute a ORM using JDBC; Tests were executed with two different databases; This program does not identify homonyms or synonyms;

Conclusion This API still demands the presence of manufacturer's driver to access database; This API executes the data integration in application environment no overload to database servers; This presentation did not present the Object materialization;

Conclusion It is necessary implement a cache to DataModel Objects; Avoid memory limitations This API needs an approach to work with XML databases; This program has been in use to integrate data from different databases for almost 1,5 year at State University of Amazonas - Brazil. This program also was used to access LDAP servers and integrate their informations with our Academic system 6 months.