From: | Christopher Browne <cbbrowne(at)acm(dot)org> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Replication |
Date: | 2004-04-22 02:08:07 |
Message-ID: | m3u0zclq7s.fsf@wolfe.cbbrowne.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Martha Stewart called it a Good Thing when ajs(at)crankycanuck(dot)ca (Andrew Sullivan) wrote:
> On Wed, Apr 21, 2004 at 11:23:51AM -0400, Jan Wieck wrote:
>> for that is NOT performance. SAP spends that effort multiple times
>> by implementing their own, custom integrity control and data domain
>> system in the DB abstraction layer, to gain DB vendor
>> independence. That abstraction layer is larger than PHP and Apache
>> together, so this example is IMHO totally irrelevant for the
>> typical MySQL user.
>
> Actually, I think it _is_ relevant. It's proof, IMNSHO, that the
> strategy of "doing it in the client" is completely bankrupt. It's
> one thing to do it this way if you have software which is a
> category-killer the way SAP is, because you can afford the overhead
> of all those developers doing all that extra work, and you can make
> your customers buy trillion-dollar hardware to run your bloated
> masterpiece. The Rest Of Us, however, need to do things
> efficiently, and that means doing the work in the place where it is
> least likely to need to be checked again. For most database
> applications, that's inside the database. (I'll not now start my
> rant on the mess caused by developers who are careless with this
> principle.)
There's a further issue, namely that these "bankrupt" ways were
adopted literally decades ago, and involve the "trillion-dollar"
investments.
Way back when, R/2 was implemented on MVS using IMS, and SAP
implemented their own toolset to manage that, including their own
more-or-less-implicit transaction manager. Thirty years later, they
have ported it to run on systems that didn't exist back then, but it's
still, in essence, a "mainframe" thing, even if you're running it atop
Windows NT and Microsoft's port of Sybase. It persists because
there's 30 years worth of ABAP/4 code customized for a zillion
purposes that SAP can keep on selling.
The problem is not one of carelessness; it is that R/2 was written to
run on databases like IMS, a pre-relational hierarchical system, and
Adabas, which couldn't support having more than 256 tables, once upon
a time... They had to create an ad-hoc variation on CICS, and
starting from scratch would cost trillions.
Even they couldn't afford that. Microsoft has been trying to do some
"reinvention" of Windows in the new "Longhorn" thing, and despite
having $Billion$ in the bank, it looks like those ambitions are dying
the death of a thousand paper cuts.
Jan's right, in that the typical MySQL user that's building an
unambitious little PHP application doesn't care about the extra
layers. They wouldn't have bought CICS, whether from IBM or from BEA,
or something more modern, like Tuxedo; if they're using MySQL as a
step up from MS Access, "doing things right" wasn't a notion that they
had in their heads to even contemplate.
It's like deciding to prefer Windows because if you visit Office
Depot, Staples, CompUSA, and Circuit City, that's the only system you
see boxed software for; it's not a measure of goodness, but merely the
fact that it's visible, and can be made serviceable enough.
Sleepycat DB can accurately claim to have hundreds of millions of
deployments simply out of the fact that practically every Linux system
links to it. (I see 67 programs in my /usr/bin that link to
libdb3.so.3...) They're obviously far and away the "most popular open
source database." Entertainingly enough, they have a replication
system, too, and even an XA interface to support 2PC :-). No SQL,
though...
--
"cbbrowne","@","acm.org"
http://www.ntlug.org/~cbbrowne/linux.html
Why do we drive on parkways and park on driveways?
From | Date | Subject | |
---|---|---|---|
Next Message | Christopher Browne | 2004-04-22 02:09:46 | Re: Replication |
Previous Message | Bruno Wolff III | 2004-04-22 01:45:43 | Re: 7.3.4 on Linux: UPDATE .. foo=foo+1 degrades massivly over time |