Object DB
- High performance
- Faster as no joins required
- Inherent versioning mechanism
- Navigational interface for operations (like graph traversal)
- Object Query Language retrieve objects declaratively
- complex data types
- object identity ie. equals() in which object identity is independent of value and updates
- facilitates object sharing
- classes and hierarchies (inheritance and encapsulation)
- support for relationships
- integrated with a persistence language like ODL
- support for atomicity
- support for nested relationships
- semantic modelling
Cons
- No mathematical foundation as RDB (refer Codd)
- cons of object orientation
- persistence difficult for complex structures, some data must be transient
Object-Relational databases (You might have seen UDTs!)
- support for complex data types like collection, multisets etc
- object oriented data modelling
- extended SQL and rich types
- support for UDT inhertance
- powerful query language
Different approaches (OO, Relational DB or OODB) may be necessary for different applications
References
OODMS manifesto
ODMG
The Object-Oriented Database System Manifesto
Object Oriented Database Systems
Object Relational Databases in DBMS
Completeness Criteria for Object-Relational Database Systems
Comparisons
http://en.wikipedia.org/wiki/Comparison_of_object_database_management_systems
http://en.wikipedia.org/wiki/Comparison_of_object-relational_database_management_systems