Why are relation databases more common than object-oriented databases?
If the Object Oriented Programming paradigm is so widespread, shouldn't we see lots of OODBMS? Wouldn't they perform better than the RDBMS+OR/M?
Why are relation databases more common than object-oriented databases?
If the Object Oriented Programming paradigm is so widespread, shouldn't we see lots of OODBMS? Wouldn't they perform better than the RDBMS+OR/M?
The main problem was indexing !
It is really fine to index scalars values… Just sorts them.
For values with many attributes, methods, parts, components and so on… There is no generic rules….
So OODBMS dissapears like dynosaurs !
But RDBMS vendors integrates some facilities to have objects in the database, like XML (research and development conducts sometime to find indexing ways for special really used objects, but it is very hard….), and also for supporting the storage of anykind of objects (without having the possibilities to index it…) usually in Java (Oracle) or .net (SQL Server).
The most direct answer to the question, why are relational database more common that object databases, is that most problems are solvable using a relational database. The vast majority of people have a certain set of tools that they use every day to solve nearly all of the problems they encounter. This is just as true with programmers. Many programmers only ever need a relational database so the relational database market is there to serve them.
However, if you develop software for the CAD/CAM/CAE industry, or if you develop link analysis applications to support investigations, or if you build a complex data fusion system, you probably have an object/graph database in your toolbox because they perform much better than relational databases in these domains.
Disclaimer: I work for Objectivity, Inc. where we produce, market, and sell a massively scalable distributed object/graph database.