Upload
elkan
View
38
Download
4
Tags:
Embed Size (px)
DESCRIPTION
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 - PowerPoint PPT Presentation
Citation preview
OODB System ComparisonOODB System Comparison
Presented byPresented by
David BuchananDavid Buchanan
Farhad BarfataniFarhad Barfatani
Matthew BuchananMatthew Buchanan
Mark DowningMark Downing
Systems SelectedSystems Selected
Gemstone
Versant
Object Store
Poet
Jasmine, Objectity/DBand Others
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
ArchitectureArchitecture
VersantVersant JasmineJasmine GemstoneGemstone ObjectStoreObjectStore
Schema EvolutionSchema Evolution
VersantVersant POETPOET ObjectivityObjectivity Object StoreObject Store
VersioningVersioning
VersantVersant JasmineJasmine ObjectivityObjectivity Object StoreObject 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.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.
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.
JasmineJasmine
Concurrency
Jasmine uses a combination of:» Object locking
» Versioning
for concurrency control.
JasmineJasmine
Concurrency
Jasmine support:– Database Locking– Store Locking– Class Locking– Page Locking– Object Locking
GemStoneGemStone
Recovery
Network or hardware failure recovery Replication. Backup. Logging mechanisms.
GemStoneGemStone
Recovery
Restoration after disk or system failure: Full backup. Using log files. Transaction logs.
GemStoneGemStone
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.
ObjectivityObjectivity
Recovery
Inbuilt recovery mechanism. Automatic Recovery:
– Application;
– Local server;
– Remote server host;
– Lock server host;
– Process failures.
ObjectivityObjectivity
Concurrency
Concurrent access: Flexible transaction model. Multiple readers, one writer. Object-level versioning. Hierarchical locking. Lock waiting. Active deadlock detection across databases.
ObjectivityObjectivity
Concurrency
Concurrent access:
Flexible transaction model. Multiple readers, one writer. Object-level versioning. Hierarchical locking. Lock waiting. Active deadlock detection across databases.
ObjectstoreObjectstore
Recovery
Transaction logging Two-phase commit
ObjectstoreObjectstore
Concurrency
Multi-Version Concurrency Control (MVCC )
MVCC can be applied selectively to individual databases, or to entire servers.
Persistence & Programming Persistence & Programming LanguagesLanguages
Versant– Java– C++
Jasmine– Java– C/C++– ActiveX
GemStone– Smalltalk– Java
Persistence & Programming Persistence & Programming LanguagesLanguages
POET– Java– C++
Objectivity– Java– Smalltalk– C++– SQL++
ObjectStore– Java– C/C++– ActiveX
Query SupportQuery Support
OQLOQL– Object StoreObject Store– VersantVersant
ODQLODQL– JasmineJasmine
Legacy SupportLegacy Support
Relational Database SupportRelational Database Support– ObjectivityObjectivity– VersantVersant– JasmineJasmine
ConclusionConclusion
OODB’s StrengthsOODB’s Strengths Which is the best system?Which is the best system?