• No results found

Object-Oriented Databases Course Review

N/A
N/A
Protected

Academic year: 2021

Share "Object-Oriented Databases Course Review"

Copied!
17
0
0

Loading.... (view fulltext now)

Full text

(1)

Object-Oriented Databases

Course Review

• Exam Information

• Summary

• OODBMS Architectures

(2)

Exam

Session examination

Oral exam in English

Duration of 15 minutes

(3)

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

(4)

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)

(5)

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

(6)

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.

(7)

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

 O2 (C++/Java), ObjectStore (Java), Versant (Java/Smalltalk), Objectivity/DB (Java/Smalltalk), db4o (Java/.NET), ODMG

(8)

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

(9)

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

(10)

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

(11)

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

(12)

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

(13)

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

(14)

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

(15)

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

(16)

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

(17)

Object-Oriented Databases

The End

References

Related documents

In all our previous reports on magnetic-field assisted MacEtch, we have used an external magnetic field to pull the isolated catalyst disks in a vertical direction, and also to

governmental non-profitable organization and the sole National Standards Body (NSB) which represents Ethiopian interest in economical, social and environmental aspects with regard

To investigate whether inhibitors acting on APN catalytic site interfere with coronavirus binding, we purified truncated TGEV spike (residues 522-672) and 229E spike (residues

To validate that the induction of mineralisation seen in our co-culture model was specific to PCa cells and not simply a result of (unspecific) cell number and the

In effect, given the interpretation of this shock as reflecting news about technological innovations, the variance decomposition results suggest that news shocks may a major source

This study adopted the 2 × 2 model of perfectionism (Gaudreau & Thompson, 2010) to examine the unique and interactive effects of two dimensions of perfectionism (personal

The manager’s job is to ensure that the A3 report author has rigorously followed the prescribed process: current condition was created through observation and represents actual

We consider four possible confounding factors: 1) Prior expe- rience under the socialist regime may have given East German employees lower expectations for their work environment