From: Doug Beaver Date: 2005-03-26T03:18:15+09:00 Subject: Re: OO database concepts... On Sat, Mar 26, 2005 at 01:56:53AM +0900, Austin Ziegler wrote: [ snip good summary of three fundmanetal problems of OODBMSs (hard to index, rigid access paterns, poor portability) ] > OODBs are crap -- and always will be. the nice thing is that if you want to enforce a type hierarchy or support different numbers of columns for a given class of objects, an object-relational mapping layer will give you 80% of what the OODBMS is giving you, without all the OODBMS baggage. "dynamic" columns are pretty easy to setup with a RDBMS, as long as you don't mind reading in multiple rows in order to recreate an object, along with a cheap join against a domain table holding the column definitions. with modern databases, it ends up being pretty fast. i think ORM is already a de facto third class of database (as weird as that sounds at first glance), and the ORM domain of solutions are only going to get better at caching, prediction, and performance. i've been working with hibernate lately and am pretty impressed with all the optimizations it can make, my hand-coded database layers almost matched its performance, and took literally dozens of hours longer to implement. doug p.s. i think the OODBMS manifesto is a good read, if anyone wants to learn the motivations that led to creating them in the first place. http://www-2.cs.cmu.edu/People/clamen/OODBMS/Manifesto/htManifesto/Manifesto.html -- "Contrary to what most people say, the most dangerous animal in the world is not the lion or the tiger or even the elephant. It's a shark riding on an elephant's back, just trampling and eating everything they see." -- Jack Handey