Top Banner
©LJW 2014 : OODBMS:: CS630 Object-Oriented DBMS Fundamentals Les Waguespack, Ph.D. 1
19

Object-Oriented DBMS Fundamentals - Bentleycis.bentley.edu/lwaguespack/CS630_Site/Downloads..."Object DBMS” Object server is the steward of the disk image of objects and provides

Apr 01, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Object-Oriented DBMS Fundamentals - Bentleycis.bentley.edu/lwaguespack/CS630_Site/Downloads..."Object DBMS” Object server is the steward of the disk image of objects and provides

©LJW 2014 : OODBMS::

CS630 Object-Oriented DBMS

FundamentalsLes Waguespack, Ph.D.

���1

Page 2: Object-Oriented DBMS Fundamentals - Bentleycis.bentley.edu/lwaguespack/CS630_Site/Downloads..."Object DBMS” Object server is the steward of the disk image of objects and provides

©LJW 2014 : OODBMS::

Data Base Models

• 1960's – Hierarchical – extended the access functionality of file management – compartmentalized security, recovery and backup– centralized file description and documentation

• 1970's – Network– standardized data model definition and access (CODASYL) – introduced query language/report writer capabilities

• 1980's – Relational – formalized semantic behavior of queries (normalization) – facilitated "end user" access via standard (SQL)– achieved cross platform and distributed consistency

• 1990's – Object Oriented– seeks to recapture high-performance in complex models – seeks to bind application and data management models – seeks to exploit reusable data models– promises to make multi-media ubiquitous

���2

Page 3: Object-Oriented DBMS Fundamentals - Bentleycis.bentley.edu/lwaguespack/CS630_Site/Downloads..."Object DBMS” Object server is the steward of the disk image of objects and provides

©LJW 2014 : OODBMS::

"Model i Model"→ Despite some lingering concerns for performance the relational model is

considered the model of choice for clarity, consistency, and integrity for designing databases.

← The OODB approach promises "blazing" speed for "wired" data relationships via the "oid" (object id) pointer interconnections.

→ For the most part the relational implementations lack strong connection between the "data model" and the "transaction model"s that are applied to them (data and procedures are separate).

← The OODB depends on "wired" relationships that may impede evolution/maintenance of data models and violates basic semantic principles of entity/relationship modeling.

���3

Page 4: Object-Oriented DBMS Fundamentals - Bentleycis.bentley.edu/lwaguespack/CS630_Site/Downloads..."Object DBMS” Object server is the steward of the disk image of objects and provides

©LJW 2014 : OODBMS:

Model / Problem Fit→ Relational fits data problems that are regular and homogeneous. ← OODB fits data problems that are irregular and sparse.

Num

ber o

f obj

ects

Number of instances →

Relational Fit

!Object Fit

Page 5: Object-Oriented DBMS Fundamentals - Bentleycis.bentley.edu/lwaguespack/CS630_Site/Downloads..."Object DBMS” Object server is the steward of the disk image of objects and provides

©LJW 2014 : OODBMS:

Model / Problem Fit→ Relational fits data problems that are regular and homogeneous. ← OODB fits data problems that are irregular and sparse.

Num

ber o

f obj

ects

Number of instances →

Relational Fit

!Object Fit

Graphs

Inventory

VLSI Circuits

CAD/CAMBill of Materials

Portfolio Mgmt

Flat Files

Credit Accounts

Phone List

Customer AccountPayroll

Page 6: Object-Oriented DBMS Fundamentals - Bentleycis.bentley.edu/lwaguespack/CS630_Site/Downloads..."Object DBMS” Object server is the steward of the disk image of objects and provides

©LJW 2014 : OODBMS::

Object "Relations"

• Objects have identity as objects independent from their state (regardless of the content of their instance variables).

• Objects are referenced in an object system via these identities referred to as OID's or Object ID's.

• Object access is always by reference, (i.e. by following the OID to the object itself.

• Object assignment ( X := Y ) is accomplish by reproducing the OID rather than by reproducing the object. Therefore X.printon and Y.printon produce the same result even after the methods (X.value ← 9 and Y.value ← 13). The both printout "13".

���6

Page 7: Object-Oriented DBMS Fundamentals - Bentleycis.bentley.edu/lwaguespack/CS630_Site/Downloads..."Object DBMS” Object server is the steward of the disk image of objects and provides

©LJW 2014 : OODBMS: ���7

Object "Relations"

Executable Main Memory

Page 8: Object-Oriented DBMS Fundamentals - Bentleycis.bentley.edu/lwaguespack/CS630_Site/Downloads..."Object DBMS” Object server is the steward of the disk image of objects and provides

©LJW 2014 : OODBMS: ���8

Object "Persistence"

Main Memory “image”

Persistent Memory “image”

Save!

! !Load

object store

Page 9: Object-Oriented DBMS Fundamentals - Bentleycis.bentley.edu/lwaguespack/CS630_Site/Downloads..."Object DBMS” Object server is the steward of the disk image of objects and provides

©LJW 2014 : OODBMS:

Persistent Memory “image”

���9

Unitary "Address Space"

Main Memory “image”

Page 10: Object-Oriented DBMS Fundamentals - Bentleycis.bentley.edu/lwaguespack/CS630_Site/Downloads..."Object DBMS” Object server is the steward of the disk image of objects and provides

©LJW 2014 : OODBMS: ���10

"Object DBMS”

Main Memory “image”

Persistent Memory “image”

Object DBMS

object store

Page 11: Object-Oriented DBMS Fundamentals - Bentleycis.bentley.edu/lwaguespack/CS630_Site/Downloads..."Object DBMS” Object server is the steward of the disk image of objects and provides

©LJW 2014 : OODBMS: ���11

"Object DBMS”

Object server is the steward of the disk image of objects and provides shared access to multiple applications, arbitrating the access through a cache of its own.

Object server

Object manager

ApplicationObject manager provides a local cache where transient, application bound, "images" of objects "live" during access and modification until they are committed or reverted.

object store

Page 12: Object-Oriented DBMS Fundamentals - Bentleycis.bentley.edu/lwaguespack/CS630_Site/Downloads..."Object DBMS” Object server is the steward of the disk image of objects and provides

©LJW 2014 : OODBMS: ���12

"Object DBMS”

Object server

Object manager

Application

manager!cache!

server!cache!

object store

Page 13: Object-Oriented DBMS Fundamentals - Bentleycis.bentley.edu/lwaguespack/CS630_Site/Downloads..."Object DBMS” Object server is the steward of the disk image of objects and provides

©LJW 2014 : OODBMS: ���13

Multi-access

Object server

Object manager

Application

Object server

Object manager

Application

object store

Page 14: Object-Oriented DBMS Fundamentals - Bentleycis.bentley.edu/lwaguespack/CS630_Site/Downloads..."Object DBMS” Object server is the steward of the disk image of objects and provides

©LJW 2014 : OODBMS: ���14

Multi-database

Object server

Object manager

Application

Object server

Object manager

object store

object store

Page 15: Object-Oriented DBMS Fundamentals - Bentleycis.bentley.edu/lwaguespack/CS630_Site/Downloads..."Object DBMS” Object server is the steward of the disk image of objects and provides

©LJW 2014 : OODBMS: ���15

Object server

Object manager

Application

manager!cache!

server!cache!

object store

Page 16: Object-Oriented DBMS Fundamentals - Bentleycis.bentley.edu/lwaguespack/CS630_Site/Downloads..."Object DBMS” Object server is the steward of the disk image of objects and provides

©LJW 2014 : OODBMS::

object manager

Distributed Components

���16

object manager

remote procedure calls

object server

object manager

Page 17: Object-Oriented DBMS Fundamentals - Bentleycis.bentley.edu/lwaguespack/CS630_Site/Downloads..."Object DBMS” Object server is the steward of the disk image of objects and provides

©LJW 2014 : OODBMS::

Implementation• Methods:

– bound at compile time the methods may be stored external to the object store, but cannot be modified during a session– bound dynamically, changes in methods are immediately in "effect" for subsequent messages– stored external to the database allows "de- synchronization" and integrity breaches– stored in the object store configuration security is greater and more likely to survive a rollback and recovery cycle

• Transactions:– object "locking" evokes all the standard concurrency control problems found in any shared access data management circumstance. – object "clustering" may be used to control "lock proliferation" and improve locality of reference, access patterns – classic "object application" transactions are very long requiring large amounts of "cache"– locks at checkout vs. locks at check in!

���17

Page 18: Object-Oriented DBMS Fundamentals - Bentleycis.bentley.edu/lwaguespack/CS630_Site/Downloads..."Object DBMS” Object server is the steward of the disk image of objects and provides

©LJW 2014 : OODBMS::

Implementation• Versioning:

– CAD/CAM-like applications require the ability to maintain versions in linear and tree-structured ancestry – this is common in work group situations where several technicians may be addressing the same "system" in "part" increments.

• Query Support:– there is Object SQL on the market with some effort to address a standard – in most instances query support is really "report" support since access paths must be established at DDL- time in order for appropriate OID paths to exist to allow collections or families of objects to be scanned in a query processing mode. This evokes memories of hierarchical and inverted data model issues with "design-time" rather than "decision-time" query definition. Many different access acceleration aids are available (hashed, B-tree, "object rape" approaches).

���18

Page 19: Object-Oriented DBMS Fundamentals - Bentleycis.bentley.edu/lwaguespack/CS630_Site/Downloads..."Object DBMS” Object server is the steward of the disk image of objects and provides

©LJW 2014 : OODBMS::

Implementation

• Persistent Object Definition:– dynamic binding almost requires that persistent objects and "application" objects reside in the same address space (at least part of the time); this leads to a unified class library approach where persistent objects are simply object derived from a "persistent object ancestor."

• To "connect" persistent and dynamic object behavior requires some form of "interpretive" execution which is not native to compile-time based object systems (C++). This conflict leads to less than "pure" object oriented implementations of the object database interface.

���19