290 likes | 376 Views
OODB System Comparison. Presented by David Buchanan Farhad Barfatani Matthew Buchanan Mark Downing. Systems Selected. Criteria Selected. Architecture / Schema Schema Evolution Versioning Recovery Concurrency Persistence Programming Languages Support Tools Query Support
E N D
OODB System Comparison Presented by David Buchanan Farhad Barfatani Matthew Buchanan Mark Downing
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?