Re: Object-oriented Databases

Benjamin J Doherty <[email protected]>
Newsgroups gmane.comp.web.webobjects.general
Message-ID <[email protected]>
On Jul 26, 2005, at 9:01 PM, Ashley Aitken wrote:

> My general perspective on OODBMs vs RDBMSs is this:
>
> RDBMSs:
> Best suited to applications that require access to very large sets  
> of data, e.g. millions of customers, with a few relationships, e.g.  
> a customer has a few bank accounts, and a branch.  RDBMSs can very  
> quickly find a customer and fetch it and a few of its relationships.
>
> OODBMSs
> Best suited to applications that require access to a large set of  
> object with complex relationships, e.g. models of buildings or cars  
> with all their parts.  OODBMSs aren't the fastest at finding an  
> object but can easily walk (and fetch) complex object graphs and  
> handle polymorphism etc.

You overlook (or take for granted) the most significant advantage of  
the relational database:  integrity and storage efficiency.  The  
process of normalization in relational theory ensures a level of  
integrity that to my knowledge cannot be assumed through any OO  
design practice.  (Of course, I'm assuming that normalization is de  
rigeur for those of us who work with relational data.)  Don't forget  
that any DBMS is primarily used for data accuracy, because if the  
data isn't accurate, why bother storing it in a structured way?

> Most business applications currently suit RDBMSs, or even better an  
> Object-Relational Mapping to a RDBMS.  However, I think there are  
> applications that are more suited to OODBMSs and developers that  
> use an OODBMS will obtain a competitive advantage from using them.
>
> When I hear Object-Relational Modelling vendors suggesting we keep  
> our inheritance hierarchy shallow, don't use too many  
> relationships, keep the model simple, its a warning sign (to me at  
> least) that perhaps the technology (RDBMS) is not the best solution  
> going forward.

I've been curious to experiment with the inheritance functionality of  
Postgresql, because I can see it making vertical inheritance less  
taxing on the database.  If the CLIENT table extends the PERSON  
table, the Client object can employ horizontal mapping in EOF to the  
related Person object, which uses fewer queries, but PGSQL  
transparently handles the vertical mapping for the application. You  
have the size and integrity advantages of vertical mapping while only  
paying for horizontal mapping.

I'm still not entirely clear on the distinction between a OODBMS and  
a directory.  Inheritance and capacity for a vast object graph are  
features to both.  Maybe I'm being unimaginative, but I don't see the  
place of polymorphism in a database outside of SQL functions and  
procedures.

Cheers,

benjamin in chicago.

_______________________________________________
WebObjects-talk mailing list
[email protected]
http://www.omnigroup.com/mailman/listinfo/webobjects-talk
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.