Transcript OODB

OODB System Comparison
Presented by
David Buchanan
Farhad Barfatani
Matthew Buchanan
Mark Downing
Systems Selected
Gemstone
Versant
Object Store
Poet
Jasmine, Objectity/DB
and Others
Criteria Selected











Architecture / Schema
Schema Evolution
Versioning
Recovery
Concurrency
Persistence
Programming Languages
Support Tools
Query Support
Legacy Support
Platform Support
Architecture
Versant
 Jasmine
 Gemstone
 ObjectStore

Schema Evolution
Versant
 POET
 Objectivity
 Object Store

Versioning
Versant
 Jasmine
 Objectivity
 Object Store

Versant Version 6.0
Recovery
 A dual logging feature manages recovery.
 System maintains physical and logical logs.
 Roll Forward mechanism is used to recover
the database.
– System’s roll back reapply committed
transactions .
Versant Version 6.0
Concurrency
Persistent locks support long transactions.
 Short locks are also provided for shorter
transactions.
 “No-locks” for optimistic locking.

– Users to define their own locks.
– Denies locks that would result in a deadlock.
Versant Version 6.0
Concurrency





Persistent locks support long transactions.
Short locks are also provided for shorter
transactions.
“No-locks” for optimistic locking.
Users to define their own locks.
Denies locks that would result in a deadlock.
Jasmine
Recovery
Database log files for Non-catastrophic
failure.
 Journaling in the event of catastrophic
failure.

Jasmine
Recovery
Journal files are backups of the entire
database.
 Journaling does not include backing up of
multimedia files.
 Facilities allow full and partial backups to
be done online or offline.

Jasmine
Recovery

Database can perform incremental backups of the
database.
» It uses a circular log file.
» Logs used to roll forward to the last
processed transactions
» To restore backed up copy requires system
shut down.
Jasmine
Concurrency

Jasmine uses a combination of:
» Object locking
» Versioning
for concurrency control.
Jasmine
Concurrency
Jasmine support:
– Database Locking
– Store Locking
– Class Locking
– Page Locking
– Object Locking
GemStone
Recovery
Network or hardware failure recovery
 Replication.
 Backup.
 Logging mechanisms.
GemStone
Recovery
Restoration after disk or system failure:
 Full backup.
 Using log files.
 Transaction logs.
GemStone
Concurrency

Transaction mechanisms control
concurrency.
– It uses optimistic locking.
POET
Recovery
Roll forward recovery mechanism using
logs.
 Supports an external backup facility.
 Backed up while clients still use the
database.

POET
Concurrency
Concurrency control is managed by using:
 Nested transactions.
 Locks.
Locks prevent reading, updating or deleting of objects by unauthorized
users.
Objectivity
Recovery


Inbuilt recovery mechanism.
Automatic Recovery:
–
–
–
–
–
Application;
Local server;
Remote server host;
Lock server host;
Process failures.
Objectivity
Concurrency
Concurrent access:






Flexible transaction model.
Multiple readers, one writer.
Object-level versioning.
Hierarchical locking.
Lock waiting.
Active deadlock detection across databases.
Objectivity
Concurrency
Concurrent access:






Flexible transaction model.
Multiple readers, one writer.
Object-level versioning.
Hierarchical locking.
Lock waiting.
Active deadlock detection across databases.
Objectstore
Recovery
Transaction logging
 Two-phase commit

Objectstore
Concurrency
Multi-Version Concurrency Control
(MVCC )
 MVCC can be applied selectively to
individual databases, or to entire servers.

Persistence & Programming
Languages

Versant
– Java
– C++

Jasmine
– Java
– C/C++
– ActiveX

GemStone
– Smalltalk
– Java
Persistence & Programming
Languages

POET
– Java
– C++

Objectivity
–
–
–
–

Java
Smalltalk
C++
SQL++
ObjectStore
– Java
– C/C++
– ActiveX
Query Support

OQL
– Object Store
– Versant

ODQL
– Jasmine
Legacy Support

Relational Database Support
– Objectivity
– Versant
– Jasmine
Conclusion
OODB’s Strengths
 Which is the best system?
