OODB System Comparison
description
Transcript of OODB System Comparison
![Page 1: OODB System Comparison](https://reader034.fdocuments.net/reader034/viewer/2022052510/568147ad550346895db4eb89/html5/thumbnails/1.jpg)
OODB System ComparisonOODB System Comparison
Presented byPresented by
David BuchananDavid Buchanan
Farhad BarfataniFarhad Barfatani
Matthew BuchananMatthew Buchanan
Mark DowningMark Downing
![Page 2: OODB System Comparison](https://reader034.fdocuments.net/reader034/viewer/2022052510/568147ad550346895db4eb89/html5/thumbnails/2.jpg)
Systems SelectedSystems Selected
Gemstone
Versant
Object Store
Poet
Jasmine, Objectity/DBand Others
![Page 3: OODB System Comparison](https://reader034.fdocuments.net/reader034/viewer/2022052510/568147ad550346895db4eb89/html5/thumbnails/3.jpg)
Criteria Selected Criteria Selected Architecture / SchemaArchitecture / Schema Schema EvolutionSchema Evolution VersioningVersioning RecoveryRecovery Concurrency Concurrency PersistencePersistence Programming Languages Programming Languages Support ToolsSupport Tools Query Support Query Support Legacy Support Legacy Support Platform Support Platform Support
![Page 4: OODB System Comparison](https://reader034.fdocuments.net/reader034/viewer/2022052510/568147ad550346895db4eb89/html5/thumbnails/4.jpg)
ArchitectureArchitecture
VersantVersant JasmineJasmine GemstoneGemstone ObjectStoreObjectStore
![Page 5: OODB System Comparison](https://reader034.fdocuments.net/reader034/viewer/2022052510/568147ad550346895db4eb89/html5/thumbnails/5.jpg)
Schema EvolutionSchema Evolution
VersantVersant POETPOET ObjectivityObjectivity Object StoreObject Store
![Page 6: OODB System Comparison](https://reader034.fdocuments.net/reader034/viewer/2022052510/568147ad550346895db4eb89/html5/thumbnails/6.jpg)
VersioningVersioning
VersantVersant JasmineJasmine ObjectivityObjectivity Object StoreObject Store
![Page 7: OODB System Comparison](https://reader034.fdocuments.net/reader034/viewer/2022052510/568147ad550346895db4eb89/html5/thumbnails/7.jpg)
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 .
![Page 8: OODB System Comparison](https://reader034.fdocuments.net/reader034/viewer/2022052510/568147ad550346895db4eb89/html5/thumbnails/8.jpg)
Versant Version 6.0
Concurrency
Persistent locks support long transactions.Persistent locks support long transactions. Short locks are also provided for shorter Short locks are also provided for shorter
transactions.transactions. ““No-locks” for optimistic locking.No-locks” for optimistic locking.
– Users to define their own locks.Users to define their own locks.– Denies locks that would result in a deadlock.Denies locks that would result in a deadlock.
![Page 9: OODB System Comparison](https://reader034.fdocuments.net/reader034/viewer/2022052510/568147ad550346895db4eb89/html5/thumbnails/9.jpg)
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.
![Page 10: OODB System Comparison](https://reader034.fdocuments.net/reader034/viewer/2022052510/568147ad550346895db4eb89/html5/thumbnails/10.jpg)
Jasmine
Recovery
Database log files for Non-catastrophic failure.
Journaling in the event of catastrophic failure.
![Page 11: OODB System Comparison](https://reader034.fdocuments.net/reader034/viewer/2022052510/568147ad550346895db4eb89/html5/thumbnails/11.jpg)
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.
![Page 12: OODB System Comparison](https://reader034.fdocuments.net/reader034/viewer/2022052510/568147ad550346895db4eb89/html5/thumbnails/12.jpg)
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.
![Page 13: OODB System Comparison](https://reader034.fdocuments.net/reader034/viewer/2022052510/568147ad550346895db4eb89/html5/thumbnails/13.jpg)
JasmineJasmine
Concurrency
Jasmine uses a combination of:» Object locking
» Versioning
for concurrency control.
![Page 14: OODB System Comparison](https://reader034.fdocuments.net/reader034/viewer/2022052510/568147ad550346895db4eb89/html5/thumbnails/14.jpg)
JasmineJasmine
Concurrency
Jasmine support:– Database Locking– Store Locking– Class Locking– Page Locking– Object Locking
![Page 15: OODB System Comparison](https://reader034.fdocuments.net/reader034/viewer/2022052510/568147ad550346895db4eb89/html5/thumbnails/15.jpg)
GemStoneGemStone
Recovery
Network or hardware failure recovery Replication. Backup. Logging mechanisms.
![Page 16: OODB System Comparison](https://reader034.fdocuments.net/reader034/viewer/2022052510/568147ad550346895db4eb89/html5/thumbnails/16.jpg)
GemStoneGemStone
Recovery
Restoration after disk or system failure: Full backup. Using log files. Transaction logs.
![Page 17: OODB System Comparison](https://reader034.fdocuments.net/reader034/viewer/2022052510/568147ad550346895db4eb89/html5/thumbnails/17.jpg)
GemStoneGemStone
Concurrency
Transaction mechanisms control concurrency.– It uses optimistic locking.
![Page 18: OODB System Comparison](https://reader034.fdocuments.net/reader034/viewer/2022052510/568147ad550346895db4eb89/html5/thumbnails/18.jpg)
POET
Recovery
Roll forward recovery mechanism using logs.
Supports an external backup facility. Backed up while clients still use the
database.
![Page 19: OODB System Comparison](https://reader034.fdocuments.net/reader034/viewer/2022052510/568147ad550346895db4eb89/html5/thumbnails/19.jpg)
POET
Concurrency
Concurrency control is managed by using: Nested transactions. Locks.
Locks prevent reading, updating or deleting of objects by unauthorized users.
![Page 20: OODB System Comparison](https://reader034.fdocuments.net/reader034/viewer/2022052510/568147ad550346895db4eb89/html5/thumbnails/20.jpg)
ObjectivityObjectivity
Recovery
Inbuilt recovery mechanism. Automatic Recovery:
– Application;
– Local server;
– Remote server host;
– Lock server host;
– Process failures.
![Page 21: OODB System Comparison](https://reader034.fdocuments.net/reader034/viewer/2022052510/568147ad550346895db4eb89/html5/thumbnails/21.jpg)
ObjectivityObjectivity
Concurrency
Concurrent access: Flexible transaction model. Multiple readers, one writer. Object-level versioning. Hierarchical locking. Lock waiting. Active deadlock detection across databases.
![Page 22: OODB System Comparison](https://reader034.fdocuments.net/reader034/viewer/2022052510/568147ad550346895db4eb89/html5/thumbnails/22.jpg)
ObjectivityObjectivity
Concurrency
Concurrent access:
Flexible transaction model. Multiple readers, one writer. Object-level versioning. Hierarchical locking. Lock waiting. Active deadlock detection across databases.
![Page 23: OODB System Comparison](https://reader034.fdocuments.net/reader034/viewer/2022052510/568147ad550346895db4eb89/html5/thumbnails/23.jpg)
ObjectstoreObjectstore
Recovery
Transaction logging Two-phase commit
![Page 24: OODB System Comparison](https://reader034.fdocuments.net/reader034/viewer/2022052510/568147ad550346895db4eb89/html5/thumbnails/24.jpg)
ObjectstoreObjectstore
Concurrency
Multi-Version Concurrency Control (MVCC )
MVCC can be applied selectively to individual databases, or to entire servers.
![Page 25: OODB System Comparison](https://reader034.fdocuments.net/reader034/viewer/2022052510/568147ad550346895db4eb89/html5/thumbnails/25.jpg)
Persistence & Programming Persistence & Programming LanguagesLanguages
Versant– Java– C++
Jasmine– Java– C/C++– ActiveX
GemStone– Smalltalk– Java
![Page 26: OODB System Comparison](https://reader034.fdocuments.net/reader034/viewer/2022052510/568147ad550346895db4eb89/html5/thumbnails/26.jpg)
Persistence & Programming Persistence & Programming LanguagesLanguages
POET– Java– C++
Objectivity– Java– Smalltalk– C++– SQL++
ObjectStore– Java– C/C++– ActiveX
![Page 27: OODB System Comparison](https://reader034.fdocuments.net/reader034/viewer/2022052510/568147ad550346895db4eb89/html5/thumbnails/27.jpg)
Query SupportQuery Support
OQLOQL– Object StoreObject Store– VersantVersant
ODQLODQL– JasmineJasmine
![Page 28: OODB System Comparison](https://reader034.fdocuments.net/reader034/viewer/2022052510/568147ad550346895db4eb89/html5/thumbnails/28.jpg)
Legacy SupportLegacy Support
Relational Database SupportRelational Database Support– ObjectivityObjectivity– VersantVersant– JasmineJasmine
![Page 29: OODB System Comparison](https://reader034.fdocuments.net/reader034/viewer/2022052510/568147ad550346895db4eb89/html5/thumbnails/29.jpg)
ConclusionConclusion
OODB’s StrengthsOODB’s Strengths Which is the best system?Which is the best system?