Göran on ODB’s
An interesting comparison between ODB and RDB. I can only agree with most points and add my two cents.
The most important - because user-visible - argument heard against ODB’s is the lack of a query language, or these days more the lack of a OJDBC+SQL interface. The reason being that “the user is otherwise not able to draw simple reports from the database” or similar.
Well, for all but the simplest RDB schemas, especially optimized schemas, I have yet to meet a user that is able to understand a 200 table schema. Queries quickly get complex beyond comprehension, the user gives up, closes Crystal Reports, and rings the nearest developer to ask for a report.
I have run an ISP hosting company on OmniBase for years, and this turned out to be a complete non-issue. On the one hand, even the bits we had in SQL (like Request Tracker tickets) where always consulted through the user interface or a developer was asked to deliver some statistics (most of the time). On the other hand, because we could query using what effectively was a domain specific language in Smalltalk syntax, the reports we had to draw from the OmniBase db where typically a couple of lines typed in a workspace (directly in the appserver so it was fast as well). Also, the object model was closer to how my non-technically colleagues thought about thins than relational models typically are, so it was easier to discuss queries, show sample code (most non-technical people with a bit of brains will readily understand Smalltalk code after a 10 minute introduction), etcetera.
Bottom line: except for simple things like logging, where MySQL for example truly excels, my preference goes to ODB’s all the time. It’s easier to start, it’s more malleable, and it’s easier to maintain.


