Concurrency and Transaction Management in an Object Oriented Database - PowerPoint PPT Presentation

1 / 23
About This Presentation
Title:

Concurrency and Transaction Management in an Object Oriented Database

Description:

Definitions required for the discussion of concurrency and ... Versant. Ontos. Objectivity/DB. Open Source. Ozone. XL2. FramerD. Zope. Academic. ObjectStore ... – PowerPoint PPT presentation

Number of Views:362
Avg rating:3.0/5.0
Slides: 24
Provided by: jeremy136
Category:

less

Transcript and Presenter's Notes

Title: Concurrency and Transaction Management in an Object Oriented Database


1
Concurrency and Transaction Management in an
Object Oriented Database
  • Initial Presentation
  • Author Jeremy Torres
  • Date 5/30/2003

2
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

3
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

4
OODB and Relational DB Differences2,6
  • Relational DB
  • Uses record-oriented model
  • Data is a collection of record types (relations),
    each having collection of records or tuples
    stored in a file
  • Language independence (via SQL)
  • Impedance mismatch in an OO application. Mapping
    must be performed
  • OODB
  • Uses an OO data model
  • Data is a collection of objects whose behavior,
    state, and relationships are stored as a physical
    entity
  • Language dependence (OO-Language Specific)
  • No impedance mismatch in application using OODB

5
Some OODBMSs
  • Commercial
  • FastObjects (formerly Poet)
  • GemStone
  • Versant
  • Ontos
  • Objectivity/DB
  • Open Source
  • Ozone
  • XL2
  • FramerD
  • Zope
  • Academic
  • ObjectStore

6
Definitions4 1 of 3
  • Data Itemscollection of objects representing a
    database
  • Granularitysize of a data item
  • Concurrencymultiple users accessing a database
    instance at the same time
  • Transactiona logical unit of database processing
    that includes one or more database access
    operations
  • Insert, Delete, Modify, Retrieve operations
  • SerializabilityInterleaving execution of a set
    of concurrent transactions without giving up any
    correctness

7
Definitions, 2 of 3
  • Concurrency Control Protocolsset of rules for
    defining the execution of concurrent transactions
    (ultimately to ensure serializability)
  • Optimistic Concurrency Controlvalidation or
    certification of a transaction AFTER it executes
  • If interference is detected, the transaction is
    aborted and restarted at a later time

8
Definitions, 3 of 3
  • Pessimistic Concurrency ControlLocks 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 2PLa transaction does not release any of
    its exclusive (write) locks until after it
    commits or aborts

9
Database Management Systems Should1 of 2
  • Provide Concurrency Control4
  • The DBMS should allow more than one user to
    access/manipulate data concurrently
  • When there is concurrency, Transaction
    Management must be addressed
  • The Lost Update Problemtwo transactions have
    their operations interleaved in such a way that
    some database item is incorrectinconsistent
    state!
  • The Temporary Update (Dirty Read) ProblemOne
    transaction updates a database item and then the
    transaction fails the updated item is access by
    another transaction before it is changed back to
    its original value

10
Database Management Systems Should2 of 2
  • Provide Transactions that have ACID properties4
  • Atomicitya transaction is an atomic unit of
    work its performed in its entirety or not at
    all
  • Consistency preservationa transaction takes
    database from one consistent state to another
  • Isolationa transaction should appear as though
    it is being executed in isolation from other
    transactions
  • Durability or permanencythe changes applied to
    the database by a committed transaction must
    persist in the database. The changes must not be
    lost because of any failure

11
Concurrency and Transaction Management OODBMs
vs. RDBMs
  • Both DBMSs must deal with Concurrency and
    Transaction Management issues
  • Many concurrency protocols can be applied to both
    DBMSs
  • Optimistic and Pessimistic protocols are relevant
    to both
  • However, semantically different
  • Example Data Item Granularity
  • In traditional RDBMS, fine granularity data item
    would be a record field value of a record
  • In an OODBMS, fine granularity data item may be
    an Object or data member (field) of an Object

12
Many OODBsVarying Frameworks
  • There are many OODBMs existing and emerging in
    both commercial and open source areas
  • Implementations vary differently
  • Distributed database model
  • Centralized database model
  • hybrid implementation, such as
    Object-Relational Databases
  • Use Relational DBMS Engine
  • Use Structured Query Language (SQL) or an
    extension of it for providing access to Objects
  • Currently, there is no consensus or clear
    specification for an OODMS as there was for a
    Relational DBMS (such as Codds original
    specification for a relational data model and
    query language)5
  • NOTE The Object Data Management Group (ODMG) has
    a specification for portability however,
    ODMG-specific object models and query languages
    are used.

13
Study Rationale
  • My research has not found a generic, reusable
    design pattern for a transactional engine, or
    layer, geared specifically toward object
    oriented databases. 
  • Even though there are many varying
    implementations of object oriented databases,
    there are very few research papers (as found in
    the initial research phase) describing an
    complete transactional engine implementation

14
Research Objectives/Goals
  • To design a flexible and extendable (pluggable)
    framework for concurrency and transaction
    management within the context of an object
    oriented database using the Java programming
    language
  • Ideally, the framework will be presented as a
    design pattern specifically for concurrency and
    transaction management of an Object Oriented
    database

15
Research Objectives/Goals Contd
  • Provide various implementations of the framework,
    each providing different transactional properties
    (e.g., optimistic versus pessimistic locking),
    for the ObjectStore

16
Research Design
  • The generic framework proposed, designed, and
    implemented by this research will be compared
    against the strengths and weaknesses of other
    alternative implementations (e.g., the Gemstone
    and Ozone object oriented databases) found during
    the research process
  • The comparison will focus on the design and
    implementation of the concurrency and
    transactional software layers of an object
    oriented database only the remaining layers
    are out of the scope of this research

17
ObjectStore Project Current State
  • The ObjectStore Object Oriented Database is
    geared specifically for Java
  • Does not contain transaction management
  • Accessible by remote clients via RMI

18
High-Level Logical Diagram
19
(No Transcript)
20
Issues To Be Addressed
  • Object Store is distributed via Java RMI
  • The framework proposed will have to account for
    each clients state

21
Work Plan
  • Phase I First Presentation, May 30th, 2003
    The research for this first phase will be
    completed.
  • Phase II Summer I and II, 2003 Development
    and implementation of generic Concurrency/Transact
    ional Model via the ObjectStore will be completed
  • Phase III Second Presentation, September 2003.
    Results of developed concurrency model and
    implementations via the object store presented.
  • Completion Final Presentation, November 2003.
    Demonstration of implemented framework via
    ObjectStore. All results of framework and
    implementations, including changes since second
    presentation.

22
References
  • Maier et al, Development of an Object-Oriented
    DBMS, ACM Press, 1986.
  • 2Zand et al, A Survey of Current Object-Oriented
    Databases, ACM Press, 1995
  • 3Thomasian, Alexander, Concurrency Control
    Methods, Performance, and Analysis, ACM Computing
    Surveys, 1998
  • 4Elmasri, R., and Navathe, S, Fundamentals of
    Database Systems, Addison-Wesley, 2000.
  • 5Atkinson, et al, The Object-Oriented Database
    System Manifesto
  • 6Obasanjo, Dare, An Exploration of Object
    Oriented Database Management Systems
  • McClure, Steve, Object Database vs.
    Object-Relational Databases, International Data
    Corporation

23
Questions?
Write a Comment
User Comments (0)
About PowerShow.com