Relational data systems are proven market leaders in persistence solutions. They are mature and reliable choice for a general purpose solution. Moreover, RDBMS is supported by a huge number of applications and components and a large amount of human resources experienced in the technology.
However, OODBMS has some valuable advantages, which can't be underestimated:
Some of the most obvious usecases and advantages of OODBMS are listed below.
The fact that OODBMS technology is the perfect match for using in OO development environment is obvious from the very name. Though RDBMS has a wide support in tools and methods of using in OO environment there will always be an overhead of the translation from the object to relational world, commonly known as object-relational impedance mismatch.
Embedded device applications need a small-footprint zero-administration database, which makes a perfect match with an OODBMS. In addition, they usually need a quick response-time, which can be better achieved by a native OO technology, when no object-relational conversion is needed.
In applications having to deal with deep object structures (tree or graph), OODBMS offers a much easier native way to store them. Trees or graphs cannot be easily translated to RDBMS structure, so that the application has to deal with often complex conversion algorithms, which are difficult to maintain and refactor. On the other hand, OODBMS can store these structures transparently without any additional coding.
The same is true for difficult inter-objects relationships. In RDBMS they are realized with foreign keys. In some cases, you will need to fetch object by object until you will reach the final relation. In OODBMS all you need is to specify an activation depth or use transparent activationupdated to reach all the related objects through the top-object fields.
From the said above you can conclude that the applications using objects with collection members (one-to-many relationships) will also benefit from OODBMS technology.
Most applications evolve as the time goes. It means that their class and data structure (schema) can change. In applications using relational databases schema evolution is quite work-consuming process: the schema must be changed, the class structure must be changed and the query collection must be changed too. In OODBMS applications, only class structure is a subject of change and the process can be highly automated by using modern refactoring techniques available from IDEs.
OODBMS makes it possible to implement agile development process in your team:
The use of RDBMS technology complicates the adoption of these techniques due to the technical impedance mismatch, the cultural impedance mismatch, and the current lack of tool support.