The editor of my (now discontinued) Against the Grain
column, has recently notified me that "in the interest of fair play"
he published a so-called "article" The ODBMS lives! A rebuttal to
Fabian Pascal, by Leon Guzenda, the Chief Technology Officer of
Objectivity. He added: "I would discourage you from writing a column in
response, since those sort of "tit-for-tat" pieces aren't very
interesting or popular."
Funny that: the media bends over backwards to be fair to
vendors
and publish their "rebuttals", even if they are not rebuttals
at all, but sales pitches, but responses that would expose those for what they
really are "not very interesting or popular”. And then they have the nerve
to call it “balance” (see On the Trade Media’s
"Balance").
There’s nothing of substance to rebut in Guzenda's short
sales pitch that a reader has not already expressed in his reply (the name of
Guzenda's company is rather ironic in this context.) Nevertheless,
I am taking the trouble to respond to it here to demonstrate yet again:
·
lack of knowledge of fundamentals by no less than Chief
Technology Officers of DBMS companies (see also
What Do You Mean,
"Post-Relational"?, Comments on an Interview with Jim Gray
,
and Unstructured Thinking.) What,
under these circumstances, can then be expected of the average
practitioner?
·
the inability by even technical vendor personnel to
address substantive logical issues without digressing into irrelevant
implementation details and unsubstantiated marketing claims
Guzenda states that
"Much as I respect Fabian Pascal's views on databases, I differ with him
on the merits of ODBMSs. Everything he says is a regurgitation of the
RDBMS vendors' early "Fear, Uncertainty and Doubt" messages to their
loyal disciples." [emphasis mine]
Well, first of all,
if he respects me for the views that he assigns me, then he certainly should
not, because they are not mine, and they are not respectable at all. I dare
anybody to produce any material of mine that can be interpreted in the way
Guzenda does. Rebuttals require the rebutter to know and understand what
he purports to rebut. Not only does Guzenda fail on both counts, but he does
not rebut even his own straw man that he sets up, one that has nothing
to do with my positions. And get this: he accuses me, of all people, of
"regurgitating RDBMS vendors"!! What (object) planet has he been
living on? Coming from a vendor pushing a technology he is vested in, without
any substantiation, this is real rich.
Given his
introduction, one expects Guzenda would producethe specific merits
of ODBMSs relative to RDBMSs. But does he?
"Much of [Fabian's criticism of ODBMS] is no longer true
(Objectivity/DB doesn't use pointers and never has, for instance)"
Object IDs are pointers! Albeit logical, not
physical pointers, but pointers nevertheless. If Guzenda does not realize this,
then he does not understand the technology that he purports to be an
expert on.
"[Fabian] ignores a few simple facts. ODBMSs targeted tasks
that relational databases were and still are bad at handling."
But there are
no relational DBMSs (not databases!). What Guzenda is referring to are
SQL
DBMSs which, as I have been stressing over and over again, are not the same
thing; a technical officer should know that.
Whatever
"tasks" existing products are "bad at handling"—and Guzenda
does not specify any—this has nothing to do with their being relational
(which they really are not)! The real question is what does
"handling" mean—it's a conveniently fuzzy term which, when probed
into, the argument behind it evaporates (see Chapter 1 inPRACTICAL ISSUES IN
DATABASE MANAGEMENT on one of the “tasks”,
so-called “complex
data types”).
"We've also overcome the "They won't scale"
argument. The biggest database that uses Objectivity/DB currently stands at 578
Terabytes, growing by roughly a Terabyte per day. We believe that it is bigger
than Oracle's top 200 sites combined! We also have telecom customers that
concurrently service hundreds of thousands of customers per set of fault
tolerant equipment."
Say what? Where did I ever say anything about scaling?
Scaling is a physical implementation aspect which has absolutely nothing
to do with the data model, which is a purely logical construct. It is
completely irrelevant in any discussion about the merits of data models
underlying ODBMS (if any!) and RDBMS. Both ODBMSs and RDBMSs can be implemented
efficiently or not. What such arguments reveal is that ODBMS proponents are
confused about the logical and physical levels and cannot keep them distinct in
their minds (see The Logical Physical
Confusion.)
As Chris Date has pointed out so many times, the so-called
"object-model" is much closer to physical storage than its proponents
realize, which weakens further—if that is possible—its status as a
competitor of the relational model. (Incidentally, can Guzenda specify—
precisely,
please—the “object model”’s structure, integrity and
manipulation
equivalents, and its theoretical underpinnings? What does it substitute
for predicate logic and set theory?)
"Have you ever tried online schema migration with an RDBMS?
It's easy with our Active Schema package. In short, a well constructed ODBMS
can be faster, more reliable, more scalable, easier to use and cost less to
maintain than its relational equivalent."
And he accuses me of regurgitating vendors??? Is this
Guzenda's explanation of ODBMS advantages? He simply declares
superiority, without providing any evidence. Now, that's quite easy. I could
simply replace ODBMS with RDBMS and say the same thing: a well constructed
RDBMS can be faster, more reliable, more scalable, easier to use and cost less
to maintain than its object equivalent. On what grounds should the
reader decide who is right? How does Guzenda know his argument is true,
given that there are no relational DBMSs for anybody to have tried
schema migration on? Had he really known and understood the relational model,
he would have known that one of its main objectives was precisely to maximize
flexibility in the face of change.
“I should also mention that we also support ODBC and SQL so that
Fabian and his peers can use their favorite tools. If they really want to
regard a network of objects as a clumsy bunch of tables and JOIN table
constructs, they can. It will just run slower than if they had done it the
elegant ODBMS way."
As the reader rebutting him has pointed out, the notion that
SQL is my "favorite tool" is utter nonsense. As to the rest of his
argument, I don't know whether to laugh or cry. Shouldn’t Chief Technical
Officers, responsible for the design and implementations of DBMS products, be
expected not to confuse the logical and physical levels? Is there any wonder
that the industry and its products are in a such sorry state?
"The RDBMS vendors have moved from an "Objects are
irrelevant" to a "We have objects too" pitch."
So what? SQL vendors are vendors just as Objectivity
is. In the absence of knowledge by both vendor personnel and users, they all
ride various fads, with disregard as to sound foundations. The fact that Oracle
or IBM use object terminology in their marketing, or bastardize their products
with object features to compete with the likes of Objectivity is not proof of
the merits of ODBMS.
"XML is becoming increasingly important in the software
industry. The most efficient XML databases are ODBMSs with support for an
additional language. The RDBMS vendors have added XML, but their offerings are
noticeably inferior to the XML-on-ODBMS offerings from companies like X-hive,
an Objectivity partner."
Guzenda grounds his arguments not on functional or technical
merit, but on what the industry does; marketing notwithstanding, at the very
least he should be able to distinguish between them. The problem is
precisely that the industry does most things wrong precisely because of the
kind of thinking and knowledge Guzenda displays.
There is hardly a better example of that than XML. Invented
by text publishers without any understanding of database management, it is
essentially a relabeled rehash of the old hierarchic DBMSs, which we got rid of
decades ago (see my several Against the Grain
columns on XML).
Even if one ignores that, can Guzenda say--precisely,
please--on what grounds does he claim that RDBMSs (not SQL DBMSs!) are
inferior to ODBMSs with regard to support of XML as a domain? (again,
see Chapter 1 in my book and Unstructured Thinking).
In fact, does he even know what a domain is and how it relates to a data model
(see
On Suneido “DBMS” and Data Types.)
"Sure, you can keep adding layers to your old relational
engine, but if I offered you a 50 miles per gallon F-16 for the same price as a
Chevy truck with strapped on wings and a bigger engine which would you rather
fly? It seems that Fabian would prefer to stick with the Chevy. So do a lot of
IT managers. It takes time to change attitudes and to sell a new technology
into a company that has already written off the cost of its RDBMS site license,
but the ODBMSs and XML databases are steadily gaining ground."
Is this a technical argument on merit? What
“old relational engines”?
The editor told me that Guzenda’s was the “only coherently
written rebuttal he received” to my OO columns. If so, there is no better
evidence for the sad state of the database industry.
Now, you can argue that “the market” has decided that Guzenda
knows enough to hold a technical position, and that’s what counts. But that’s
only because the market does not know any better, not because it does.
Posted 11/6/02
© Fabian Pascal 2006 All Rights Reserved