Transcript 132B-intro6

Spring 2000
ODBMS: PROTOTYPES & PRODUCTS

Systems providing object databases programming languages
 Prototypes: Encore-Ob/Server (Brown Univ.), IRIS (HewlettPackard), EXODUS (Winsconsin Univ.), Zeitgeist (Texas Instrument),
Orion (MCC), ODE (Bell Lab), Gbase (Graphael), Vodak (GMD), TI
Open OODB (Texas Instrument)
 Products: GemStone (Serviologic), ObjectStore (Object Design),
ONTOS (Ontologic), Versant (Versant Object Tech.), O2 (Ardent
Software), Objectivity/DB (Objectivity), POET (Poet Software),
Jasmine ii (Computer Associates Inter.)

Object Extensions of Relational DBMS
 Illustra (Illustra Technologies), UniSQL (UniSQL Inc.), OpenODB
(Hewlett- Packard), Matisse (ABC), Omniscience (Omniscience),
Polyhedra (Polyhedra PLC), PostgreSQL (PostgreSQL Organization)
Christophides Vassilis
1
Spring 2000
The ODBMS Manifesto [M.Atkinson & al 89]
ODBMS
DBMS
Persistence
Disk Management
Concurrency
Recovery
Ad hoc Queries
Distribution
Long
Transactions
Versions

OPL
Complex objects
Object Id
Encapsulation
Types or Classes
Simple inheritance
Overloading & Late binding
Computational Completeness
Multiple inheritance
Polymorphism, Genericity
Open Choices:
Christophides Vassilis
 Uniformity of the Model (Classes/Methods/Objects)
 Naming and Persistence Model
 Typing System (Classes and/or Types)
2
Spring 2000
Uniformity of the Data Model


Three independent choices:
At the implementation level: are classes and methods represented
as objects?
At the language level: are classes and methods treated as objects
(syntactical and semantic uniformity)?
At the interface level: are classes and methods presented as
objects?
Unlike O2 and ONTOS, in Orion, Gemstone and IRIS the classes are
objects
Christophides Vassilis
3
Spring 2000
Towards Persistence Modeling



How objects become persistent (i.e., database objects): two approaches
Persistence is defined independently from the language: it is a property
of the data model (using names)
By class names: classes instances are automatically persistent (e.g.,
ORION)
By persistent root names: each object referenced by a root becomes
persistent (e.g., O2)
Persistence is a property of the underlying language
By library classes provided by the system: objects becomes
persistent if there classes inherit from a specific class Object
(Ontos) or PObject in (Versant)
By an expression of the language: e.g., persistent (Object Store),
persist (Zeitgeist) pnew and pdelete (ODE)
Christophides Vassilis
4
Spring 2000
Aspects of Persistence

Orthogonality of persistence and types: data can be persistent
independently of its type
Instances

of types can be persistent or transient (e.g., O2, ObjectStore)
Orthogonality of persistence and objects creation: definition and methods
for memory allocation are the same for persistent or transient objects
There
is not a need to copy objects from the program work space to the
database in order to make objects persistent (O2)

Behavioral transparency: uniform manipulation of persistent or transient
objects in programs
No

distinction in access and update operations nor in variable declarations
Persistence is a property which can be attached either to types or
instances: two paradigms of persistence propagation
Christophides Vassilis
5
Spring 2000
Persistence Propagation by Inheritance


Root Class of Persistence: PObject
All subclasses of persistent
classes became persistent
New and Delete messages are
overloaded
A Lookup primitive is added for
searching
Non orthogonal to types
Only the types which inherit from
PObject persist
Duplication of persistent and
transient classes
Christophides Vassilis
Pobject
New
Delete
Lookup

PPerson
Name
Born
…
6
Spring 2000
Persistence Propagation by Reference


Definition by the programmer of Persistent Roots
Keyword ”database" or ”persist" added:
Artist* art = new database Artist( "Monet");
Persistence objects are catalogued
 accessible by a Lookup method
All objects referenced by a persistent object
become persistent
References become persistent during object
storage
 references are replaced by oids
Christophides Vassilis
Dictionary
Monet
Monet
Haystacks
San Diego
Museum of Art
7
Spring 2000
Object Deletion: DB vs. PL view


DB Approach: Explicit “delete” operation
Dangling references can be managed
automatically or by the user
PL Approach: Implicit deletion when
objects are not any more referenced by
others
The difficult deletion of individual
objects implies the use garbage
collector techniques
Christophides Vassilis
obj1
obj2
att1
? X
obj2
obj1
att1
X
Garbage
Collected
8
Spring 2000
The Issue of Naming in ODBMS




Naming and Persistence in ODBMS
are closely related
Names specify how to enter the
database graph
Impact of the naming model on
the simplicity and expressiveness
of the QL
Two naming approaches:
Implicit => query only the class
extensions i.e., set of instances
Explicit => query any object or
value in the database
NOTE: In the relational model only
the relations are named and the
queries are on collections of tuples
Christophides Vassilis
Persistent Roots
Names
9
Spring 2000
Typing System: Object/Class vs. Value/Type

An object
encapsulated in a class
(structure & behavior)
is manipulated by methods
(encapsulation)
has an identifier (data sharing)

documentation
is

A value
has
a type (just a structure no
methods)
is manipulated by functions (no
encapsulation)
hasn’t an identifier
Types are used for
correctness
(type checking)
efficiency (optimization)

Classes add
object
factory (new)
object behavior (method
implementation)
collection (extent)
 A Compromise: Imperative vs. Object-Oriented
Two paradigms: All Object and Object/Value ODBMS
Christophides Vassilis
10
Spring 2000
A Compromise
All Object DBMS
 Structuring primitives are objects (e.g., collection classes)
 Meta-Classes & Inheritance at class level
 Class extensions are managed by the system
 Possible explicit object deletion
 Example: GemStone
 Provides for complex behaviors
Object/Value DBMS
 Structuring primitives using type constructors
 Inheritance defined by sub-typing
 Class extensions can be managed by the programmer
 Object deletion using a Garbage Collector
 Example: O2
 Provides for complex structures
Christophides Vassilis
11
Spring 2000
A Classification of the Systems
 LANGUAGE-ORIENTED SYSTEMS
Decrease the distance between the type system (data model) of
the PL and that of the database (e.g., ONTOS)
SYSTEMS WITH PERSISTANT PL
In addition to the reduction of the impedance mismatch between
the PL and the DB the frontier between the language and the
database disappears (e.g., ObjectStore, ODE, Zeitgeist, Versant)
APPLICATION-ORIENTED SYSTEMS
Providing functionality suited to specific applications for example
(CAD, CAM, CAE) versions, schema evolution, long transactions,
etc. (e.g., Objectivity)
 COMPLETE ODBMS
Integrate the functionality of a DBMS with the object-oriented
technology (e.g., GemStone, O2)
Christophides Vassilis
12
Spring 2000
DBMS: A Complex and Evolving World
Copyright© 1997 Poet Software
Christophides Vassilis
13
Spring 2000
VIII) REFERENCES










M. J. Carey and D. J. DeWitt: “Of Objects and Databases: A Decade of
Turmoil”. In Proc. of VLDB’96, pp. 3-14, Bombay, India, Sept. 1996
M. Atkinson, F. Bancilhon, D. DeWitt, K. Dittrich, D. Maier and S. Zdonik:
“The Object-Oriented Database System Manifesto”. In Proc. of the
DOOD’89, pp. 223-40, Kyoto, Japan, Dec. 1989
R. Brachman: “What IS-A is and Isn't: An Analysis of Taxonomic Links in
Semantic Networks”. IEEE Computer. 16(10). pp. 30-36, Oct, 1983.
G. McFarland, A. Rudmik, and D. Lange: “Object-Oriented Database
Management Systems Revisited”, Modus Operandi, Inc. 1999
F. Manola: “An evaluation of Object-Oriented DBMS Developments”
Technical Report GTE Labs, 1994
F. Bancilhon,C. Delobel,S. Gamerman:“SGBD Orientés-Objet”, GIP Altair
M. Scholl: “Les SGBD Orientés-Objet”. Course Slides, CNAM Paris
B. Amann: “Des SGBD Relationnels aux SGBD Orientés-Objet”. Course
Slides, CNAM Puteaux
Y. Viémon: “Object-Orientation and Databases”. Course Slides, PARIS-VI
G. Gardarin: “Bases de Données - Relationnel et Objet”. Course Slides,
Université de Versailles Saint-Quentin-en-Yvelines
14
Christophides Vassilis