Object-Oriented Databases Course Review



Similar documents
Introduction to Object-Oriented and Object-Relational Database Systems

XXI. Object-Oriented Database Design

Overview RDBMS-ORDBMS- OODBMS

Object Oriented Database Management System for Decision Support System.

Object Database Management Systems (ODBMSs)

Object Oriented Databases. OOAD Fall 2012 Arjun Gopalakrishna Bhavya Udayashankar

Object Database Tutorial

Requirements Design Implementation. Software Architectures. Components Software Component Architecture. DSSA: Domain-Specific Software Architectures

Performance Evaluation of Java Object Relational Mapping Tools

Data sharing in the Big Data era

Web Application Architectures

The ObjectStore Database System. Charles Lamb Gordon Landis Jack Orenstein Dan Weinreb Slides based on those by Clint Morgan

ObjectOrientedDatabaseManagementSystemsConceptsAdvantagesLimitationsandComparativeStudywithRelationalDatabaseManagementSystems

Service Oriented Architecture

Object Oriented Databases (OODBs) Relational and OO data models. Advantages and Disadvantages of OO as compared with relational

Complex Data and Object-Oriented. Databases

An Oracle White Paper October Maximize the Benefits of Oracle SOA Suite 11g with Oracle Service Bus

The Synergy Between the Object Database, Graph Database, Cloud Computing and NoSQL Paradigms

Cloud Computing and Advanced Relationship Analytics

Cache Database: Introduction to a New Generation Database

Distributed Objects and Components

Chapter. Solve Performance Problems with FastSOA Patterns. The previous chapters described the FastSOA patterns at an architectural

zen Platform technical white paper

Using Object Database db4o as Storage Provider in Voldemort

Modern Databases. Database Systems Lecture 18 Natasha Alechina

Concepts of Database Management Seventh Edition. Chapter 9 Database Management Approaches

Enterprise Application Development In Java with AJAX and ORM

Software Life-Cycle Management

Domain driven design, NoSQL and multi-model databases

Big Data Functionality for Oracle 11 / 12 Using High Density Computing and Memory Centric DataBase (MCDB) Frequently Asked Questions

Agile Business Suite: a 4GL environment for.net developers DEVELOPMENT, MAINTENANCE AND DEPLOYMENT OF LARGE, COMPLEX BACK-OFFICE APPLICATIONS

Masters of Science in Software & Information Systems

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

Amazon Web Services Primer. William Strickland COP 6938 Fall 2012 University of Central Florida

Course 6232A: Implementing a Microsoft SQL Server 2008 Database

Course Notes on A Short History of Database Technology

Course Notes on A Short History of Database Technology

Scalable Internet Services and Load Balancing

CSE 233. Database System Overview

SOACertifiedProfessional.Braindumps.S90-03A.v by.JANET.100q. Exam Code: S90-03A. Exam Name: SOA Design & Architecture

What is a database? COSC 304 Introduction to Database Systems. Database Introduction. Example Problem. Databases in the Real-World

Object-Oriented Databases db4o: Part 2

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Dynamic Adaptability of Services in Enterprise JavaBeans Architecture

PREDICTIVE INSIGHT ON BATCH ANALYTICS A NEW APPROACH

PERFORMANCE EVALUATION OF JAVA OBJECT-RELATIONAL MAPPING TOOLS HASEEB YOUSAF. (Under the Direction of John A. Miller)

Patterns of Enterprise Application Architecture

Getting Things Done: Practical Web/e-Commerce Application Stress Testing

Simplifying Processes Interoperability with a Service Oriented Architecture

1 File Processing Systems

Scaling Objectivity Database Performance with Panasas Scale-Out NAS Storage

U III 5. networks & operating system o Several competing DOC standards OMG s CORBA, OpenDoc & Microsoft s ActiveX / DCOM. Object request broker (ORB)

Versant Object Database Fundamentals Manual

Complementing Your Web Services Strategy with Verastream Host Integrator

Objectives. Distributed Databases and Client/Server Architecture. Distributed Database. Data Fragmentation

Patterns of Information Management

Oracle Architecture, Concepts & Facilities

Object oriented design process

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

The Classical Architecture. Storage 1 / 36

Realization of Inventory Databases and Object-Relational Mapping for the Common Information Model

Scalable Internet Services and Load Balancing

Chapter 7, System Design Architecture Organization. Construction. Software

I N T E R S Y S T E M S W H I T E P A P E R INTERSYSTEMS CACHÉ AS AN ALTERNATIVE TO IN-MEMORY DATABASES. David Kaaret InterSystems Corporation

Object-Oriented Databases

Performance Comparison of Persistence Frameworks

Middleware- Driven Mobile Applications

EII - ETL - EAI What, Why, and How!

SSC - Web development Model-View-Controller for Java web application development

Low-cost Open Data As-a-Service in the Cloud

Integrated Development of Distributed Real-Time Applications with Asynchronous Communication

An Advanced Performance Architecture for Salesforce Native Applications

CloudCenter Full Lifecycle Management. An application-defined approach to deploying and managing applications in any datacenter or cloud environment

InfiniteGraph: The Distributed Graph Database

Java Universal Binding: Storing Java Objects in Relational and Object-Oriented Databases

Software Engineering. Software Engineering. Component-Based. Based on Software Engineering, 7 th Edition by Ian Sommerville

Using In-Memory Computing to Simplify Big Data Analytics

How To Manage A Virtualization Server

An Oracle White Paper October Oracle Data Integrator 12c New Features Overview

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

Object Oriented Design

Object-persistence formats. Files. Object-oriented databases. Data management layer design. Relational databases. Relational Database Example.

Unified Batch & Stream Processing Platform

Lag Sucks! R.J. Lorimer Director of Platform Engineering Electrotank, Inc. Robert Greene Vice President of Technology Versant Corporation

Quotes from Object-Oriented Software Construction

Automatic generation of fully-executable code from the Domain tier of UML diagrams

Transcription:

Object-Oriented Databases Course Review Exam Information Summary OODBMS Architectures 1

Exam Session examination Oral exam in English Duration of 15 minutes 2

Exam Basic Skills: Why, What, How Explain an Idea/Approach Application Motivation How it works Advanced Skills Similar/Related topics, work, projects Technical details, implementation, architecture, models Generalisation, comparison, application in different context 3

Course Summary Opposition (Why, What, How) Google Android vs. db4o and Hibernate in between Commercial ODBMS (What, How) Versant, ObjectStore, Objectiviyty Java Versant Interface, Virtual Memory Mapping, Cache Forward Architecture, Relationships, QLs Application Domains (Why) Social Network Analysis, Schema and Data Evolution, Versioned Data Management Object Data Indexing (How) Object Data Model (Why, How) Common Concepts (Manifesto, ODMG), Advanced Concepts (OM) 4

Motivation Simplified application development Programming language-driven motivation Models of the real world (application domain) and of programming platform implementation should match the model of persistent data Database development-driven motivation When designing a database, developers should benefint from same advantage as developers of object-oriented applications benefit from OO-model. Design time: simplified design and evolution Run time: no data translation required, possibly optimised operations because database is aware of inheritance and relationships 5

Orthogonal Persistence Type Orthogonal Persistence is available for all objects irrespective of type. Persistence by Reachability The lifetime of each object is determined by reachability from a set of root objects. Persistence Independence Code is identical whether it is operating on short-lived or long-lived objects. 6

Persistence Strategies Persistence by inheritance persistence capabilities inherited from pre-defined persistent class Versant (C++), Objectivity/DB (C++) Persistence by instantiation objects made persistent and get persistence capabilities upon instantiation ObjectStore (C++) Persistence by reachability objects made persistent if reachable from other persistent object O 2 (C++/Java), ObjectStore (Java), Versant (Java/Smalltalk), Objectivity/DB (Java/Smalltalk), db4o (Java/.NET), ODMG 7

OODBMS Architectures RDBMS architectures are very similar among each other server centric, index-based, relational algebra execution engine performance and scalability numbers vary by small percentages OODBMS architectures vary considerably and exhibit different characteristics performance and scalability numbers may vary by orders of magnitude OODBMS architectures and their impact on expectations of early adopters can be seen as one of the factors for the, initially, limited success of OODBMS It is important to consider application characteristics and understand which OODBMS architecture is best suited 8

Levels of Granularity Key distinguishing implementation differences lead to vastly different runtime characteristics Primary areas impacting on performance include core architecture (Object-, Page-, Container-, -Level) concurrency model network model query implementation identity management Other feature functionality may also have an impact depending on application characteristics 9

Core Architecture Core architecture determines the following aspects caching query processing transaction management object life cycle management, i.e. tracking of new, dirty and deleted Three architectural variants are popular in OODBMS container-based page-based object-based Name of the architecture reflects both unit of transfer in network calls lowest level of locking granularity 10

Concurrency Model The three core architectures have differing concurrency models to provide transaction isolation container concurrency page concurrency object concurrency All implementations of these models are tightly coupled with network characteristics can cache locks locally at the client across transaction boundaries are likely to require lock coordination and cache consistency operations for updates In container and page-based systems, object placement and locking are tightly coupled In object-based systems, these issues are orthogonal 11

Network Model Core architectures imply three different network models container network model page network model object network model In a distributed system, different network models affect bandwidth utilisation performance Network model is closely tied to locking model information transfer occurs upon lock, if not already cached locally lowest granularity level of network transfer is equal to lowest granularity level of locking 12

Query Implementation OODBMS focus on supporting seamless navigation between related objects using language constructs native support of navigational access is a key advantage of OODBMS over the RDBMS complex join concept relationships are a static part of the system rather than runtime computed Querying data in OODBMS consists of two steps access first level objects of a use case use navigation to access related objects Query implementation impacts on where the query execution takes place flexibility of what can be queried indexing capabilities 13

Identity Management OODBMS use object identity for establish uniqueness and implementing relationships Identity management impacts on long-term operational behaviour flexibility, data scalability and schema evolution Physical identity unique identifier is dependent on the physical location mutable, reusable, immobile and rigid dereferencing very fast Logical identity unique identifier is independent of the physical location immutable, never reused, mobile and flexible logical references need to be translated into physical references 14

OODBMS Architectures Revealed Objectivity/DB container-based architecture physical identity ObjectStore Enterprise page-based architecture (queries can be executed on the server) physical identity Versant Object Database object-based architecture logical identity db4o object-based architecture physical identity 15

Literature Versant Object Database http://www.versant.com/ Robert Greene: OODBMS Architectures http://www.odbms.org/experts.html#article9 Adrian Marriott: OODBMS Architectures Revisited http://www.odbms.org/experts.html#article11 Robert Greene: OODBMS Architectures Defended http://www.odbms.org/experts.html#article12 16

Object-Oriented Databases The End 17