Object-Oriented (OO) development is by far the most popular in the development arena today, however, object-oriented databases are not. Relational databases still rule the roost, however, this causes some headache for OO developers.
A concept that many of the major database vendors have come up with is a hybrid database that integrates the concepts of both OO and Relational databases.
What can you tell me about hybrid databases? What are the positives and negatives? Are they better than using a OO or Relational database specifically? (Research will be necessary and do not rely solely on Wikipedia)
Relational Database Limitations
Relational databases are constrained in their capabilities: storing and representing some fairly common data structures can be very difficult. For instance, consider a bus route - a simple, ordered list of bus stops. Relational databases only hold tables as unordered lists and can retrieve an ordered list only if a specially built index is added. An object database has no problem with an ordered list and needs no index - the index being an artificial creation that exists only because of the limits of relational data structures.
Another example is a bill of materials: a product and its components in a manufacturing system. The components themselves may have components that in turn may have components and so on. A relational da-tabase table of all parts will not express the relationships of the parts to the parts of parts, and so on. These relationships express important data. To query a database for a product and all its components should be straightforward. A relational database structure makes the developer's job of answering this simple query, unnecessarily complex and difficult.
Examples of this kind abound:
- A map and its roads, rivers, and landmarks;
- A web site and all its pages, links and graphics.
The more complex the collection of information is, the more levels of hierarchy and cross relationships, the less possible it is to represent it within the simple table structures of a relational database. Object databases have no such limitation - indeed, they were designed to address this very kind of problem.
Despite the maturity of relational database products and the dramatic growth in computer power over the past decade, we still hear about projects that fail because the performance of the relational database used is not good enough. This is because of the way relational databases physically store data. For developers to assemble the data that they ...
Hybrid databases, their positive and negative characteristics are explained.