Concurrency and Transaction Management in An Object Oriented Database
Concurrency and Transaction Management in An Object Oriented Database
Management in an Object
Oriented Database
Initial Presentation
Author: Jeremy Torres
Date: 5/30/2003
Agenda
Brief introduction to Object Oriented
Database
Definitions required for the discussion of
concurrency and transaction management
Desired properties of a database
management system
Research Goals and Objectives
Work Plan
Q and A
An Object Oriented
Database…
Is the coupling of Object Oriented (OOP)
Programming principles with Database
Management System (DBMS) principles
Provides access to persisted objects
using the same OO-programming
language
OODB and Relational DB
Differences2,6
OODB Relational DB
Uses an OO data model
Uses record-oriented
model
Data is a collection of objects Data is a collection of
whose behavior, state, and record types (relations),
relationships are stored as a each having collection of
physical entity records or tuples stored in
Language dependence (OO- a file
Language Specific) Language independence
No impedance mismatch in (via SQL)
application using OODB Impedance mismatch in an
OO application. Mapping
must be performed
Some OODBMS’s
Commercial Open Source
FastObjects Ozone
GemStone FramerD
Versant Zope
Ontos
Objectivity/DB
Academic
ObjectStore
Definitions4 1 of 3
Data Items—collection of objects representing a
database
Granularity—size of a data item
Concurrency—multiple users accessing a
database instance at the same time
Transaction—a logical unit of database
processing that includes one or more database
access operations
Insert, Delete, Modify, Retrieve operations
Serializability—Interleaving execution of a set of
concurrent transactions without “giving up any
correctness”
Definitions, 2 of 3
Concurrency Control Protocols—set of
rules for defining the execution of
concurrent transactions (ultimately to
ensure serializability)
Optimistic Concurrency Control—validation
or certification of a transaction AFTER it
executes
If interference is detected, the transaction is
aborted and restarted at a later time
Definitions, 3 of 3
Pessimistic Concurrency Control—Locks are
used to prevent conflicting transactions
2-Phase Locking Protocol (2PL): Best known
locking protocol for guaranteeing serializability
Phase 1: Expanding/Growing. New locks can be acquired
but none can be released
Phase 2: Shrinking. Existing locks can be released but no
new locks can be acquired
Strict 2PL—a transaction does not release any of its