1 / 29

OODB System Comparison

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

elkan
Download Presentation

OODB System Comparison

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. OODB System Comparison Presented by David Buchanan Farhad Barfatani Matthew Buchanan Mark Downing

  2. Systems Selected

  3. Criteria Selected • Architecture / Schema • Schema Evolution • Versioning • Recovery • Concurrency • Persistence • Programming Languages • Support Tools • Query Support • Legacy Support • Platform Support

  4. Architecture • Versant • Jasmine • Gemstone • ObjectStore

  5. Schema Evolution • Versant • POET • Objectivity • Object Store

  6. Versioning • Versant • Jasmine • Objectivity • Object Store

  7. 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 .

  8. 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.

  9. 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.

  10. Jasmine Recovery • Database log files for Non-catastrophic failure. • Journaling in the event of catastrophic failure.

  11. 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.

  12. 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.

  13. Jasmine Concurrency • Jasmine uses a combination of: • Object locking • Versioning for concurrency control.

  14. Jasmine Concurrency Jasmine support: • Database Locking • Store Locking • Class Locking • Page Locking • Object Locking

  15. GemStone Recovery Network or hardware failure recovery • Replication. • Backup. • Logging mechanisms.

  16. GemStone Recovery Restoration after disk or system failure: • Full backup. • Using log files. • Transaction logs.

  17. GemStone Concurrency • Transaction mechanisms control concurrency. • It uses optimistic locking.

  18. POET Recovery • Roll forward recovery mechanism using logs. • Supports an external backup facility. • Backed up while clients still use the database.

  19. POET Concurrency Concurrency control is managed by using: • Nested transactions. • Locks. Locks prevent reading, updating or deleting of objects by unauthorized users.

  20. Objectivity Recovery • Inbuilt recovery mechanism. • Automatic Recovery: • Application; • Local server; • Remote server host; • Lock server host; • Process failures.

  21. Objectivity Concurrency Concurrent access: • Flexible transaction model. • Multiple readers, one writer. • Object-level versioning. • Hierarchical locking. • Lock waiting. • Active deadlock detection across databases.

  22. Objectivity Concurrency Concurrent access: • Flexible transaction model. • Multiple readers, one writer. • Object-level versioning. • Hierarchical locking. • Lock waiting. • Active deadlock detection across databases.

  23. Objectstore Recovery • Transaction logging • Two-phase commit

  24. Objectstore Concurrency • Multi-Version Concurrency Control (MVCC ) • MVCC can be applied selectively to individual databases, or to entire servers.

  25. Persistence & Programming Languages • Versant • Java • C++ • Jasmine • Java • C/C++ • ActiveX • GemStone • Smalltalk • Java

  26. Persistence & Programming Languages • POET • Java • C++ • Objectivity • Java • Smalltalk • C++ • SQL++ • ObjectStore • Java • C/C++ • ActiveX

  27. Query Support • OQL • Object Store • Versant • ODQL • Jasmine

  28. Legacy Support • Relational Database Support • Objectivity • Versant • Jasmine

  29. Conclusion • OODB’s Strengths • Which is the best system?

More Related