Austin Ziegler wrote: > Fair enough. The objects can be indexed. That doesn't change that > object traversal is restricted by the folks who first implement an > object database schema. Trust me: they're not bright enough to do it > right. Neither are the people who first implement a relational > schema for a program, but it's far easier to manage the relational > schema and adapt it for alternative uses than an object database. Austin, this seems to be the core of your point: that it's easier to adapt a relational database to changing requirements than an object database. You haven't presented any evidence for it, and I'd say that in my personal experience precisely the opposite is true. Data migrations have, in the applications I've built and maintained, been less frequently needed and much less painful on OODBs than on relational databases. If you have some rationale behind this assertion, please present it, so that I can try to understand why your belief or experience is so at odds with mine. > I'll point to something else that Avi said: "if one is careful," one > can use a particular object database (GOODS?) both cross-language > and cross-platform. Sorry, but without being careful, I can use > pretty much any relational database cross-language, and many of them > cross-platform. This strongly suggests perhaps the biggest problem > with OODBMS: vendor lock-in is much stronger under an object > database than it will ever be with SQL databases. You're misquoting me - GOODS happens to be very easy to use cross platform, without any particular care needed; certainly easier than any of the major relational databases I know. However, you absolutely do need care to use it cross-language, and that is a major and very real point in favor of using a relational database. If you need to support multiple applications written in different languages with the same data, a relational database is almost certainly the right choice. Ditto if you want to take advantage of existing reporting tools like DataVision. Ditto if you have SQL-savvy users and want to provide them with ad-hoc query access to the database. Ditto if, for some reason, you fear that you will have to change database vendors midstream. There are, in fact, lots of great reasons for using relational databases, and based on the needs of an individual project I often recommend them to my clients. It's also true, however, that of the three major projects I'm working on at the moment, all three of them are using object databases. Why? Because for these projects, we're getting better performance, easier migration, and faster development time with an OODB than we would with an RDB. Avi