I am a packrat, which means I have closets full of old stuff that I try to keep organized. A portion of my office closet is reserved for old magazines and articles I’ve cut out of IT publications.
For example, here is a binder of really old database-related articles:
Every few years I try to organize these things, throwing some away, reorganizing others, and so on. And usually, I take some time to read through some of the material as sort of a trip down memory lane.
One area that I was interested in back in the early 1990s was the purported rise of the ODBMS – a non-relational, non-SQL DBMS based on object-orientation. I was rightly skeptical back then, but the industry pundits were proclaiming that ODBMS would overtake the incumbent “relational” DBMSs in no time. Of course, there were some nay-sayers, too.
Don’t remember the OO vs. relational days? Or maybe you weren’t alive or in IT back then… Well, here are some quotes lifted right out of the magazines and white papers of the times:
- From the pages of the Spring 1993 edition of InfoDB, there is an exchange between Jeff Tash and Chris Date on the merits, definition, and future of ODBMS. As you might guess, Date is critical of ODBMS in favor of relational; Tash counters that relational is defined by the SQL DBMS products more than the theory. Interesting reading; both have valid points, but Date is spot on in his criticism that there was a lack of a precise definition of an object model.
- In the July/August 1990 issue of the Journal of Object-Oriented Programming, there are several questionable quotes in the article titled “ODBMS vs. Relational” (especially in hindsight):
1) “The data types in the relational model are quite constrained relative to the typing capabilities offered by an ODBMS.” [Note: Today most RDBMS products offer extensible typing with user-defined distinct types.]
2) “…the (relational) data model is so simple that it cannot explicitly capture the semantics we now expect from an object model.” [Note: The object folks always want to tightly-couple code and data. The relational folks view the separation of the two as an advantage.]
3) “The apparent rigor of the relational model…” [Note: Not only is it “apparently” rigorous, but it actually is rigorous. This is an example of an object proponent trying to diminish the importance of the sound theoretical framework of the relational model. Of course, it might be reasonable to say that the DBMS vendors kinda did that themselves, too, by not implementing a true relational DBMS.]
- Finally, we have a July 1992 article from DBMS Magazine titled “The End of Relational?” This type of headline and sentiment was rampant back then. Of course, as I read the article I see a claim that in March 1991 Larry Ellison said that Oracle8 would be an object database. Of course, it was not (O/R is not O — and the O was different IMHO). And then there is this whopper from that same article: “Although it is certain that the next generation of databases will be object databases…” [Note: Certain, huh?]
Perhaps the most interesting piece of data on the object vs. relational debate that I found in my closet is an IDC Bulletin from August 1997. This note discusses Object versus Object/Relational. Basically, what IDC explains in detail over 14 pages is that the marriage of object to relational is less a marriage and more of a cobbling onto relational of some OO stuff. In other words, the relational vendors extended their products to address some of the biggest concerns raised by the OO folks (support for complex data and extensible data types) — and that is basically the extent of it. The ODBMS never became more than a small niche product.
Although this is an interesting dive into a very active timeframe in the history of database systems, I think there is a lesson to learn here. These days similar claims are being made for NoSQL database systems as were being made for object database systems. Of course, the hype is not as blatant and the claims are more subdued. Most folks view NoSQL as an alternative to relational only for certain use cases, which is a better claim than the total market domination that was imagined for object database systems.
Nevertheless, I think we are seeing — and will continue to see — the major RDBMS players add NoSQL capabilities to their database systems. This creates what sometimes is referred to as a multi-model DBMS. Will that term survive? I’m not sure, but these days we rarely, if ever, hear the term Object/Relational anymore.
And over time, we will likely see the market for NoSQL databases consolidate, with fewer and fewer providers over time. Today there are literally hundreds of options (see DB-Engines.com) and most industries cannot support such a diversity of products. Most industries, although they may fluctuate over time, typically consolidate to where the top three providers control 70% to 90% of the market.
After all, history tends to repeat itself, right?