Subject: Re: "I've got more programmers than you"
From: Ian Lance Taylor <ian@airs.com>
Date: 03 Oct 2001 13:51:14 -0700

Peter Wayner <pcw2@flyzone.com> writes:

> I've spoken to the people who make MySQL and they're quite upfront
> about the strengths and weaknesses of the tool. One explained it with
> a metaphors about cars, trucks, SUVs etc. Corvettes and Unimogs have
> different market niches. One is not better than the other.
>   The same is true about databases. The good news for MySQL and
> Postgres is that there's a large niche for them. Many websites need a
> fast, basic database.

I believe that part of the reason this discussion keeps on going and
going and going is that there is a terminology problem.  People mean
different things by the words ``database'' and ``RDBMS.''

Some people think a database is, essentially, SQL access to a reliable
data store with ACID semantics.  That is a useful and powerful tool
for many applications.  (At one time MySQL called themselves a
database even though they did not provide ACID semantics, but
fortunately they no longer commit that semantic error.)

Other people think a database is something rather more powerful: a
tool which has the ability to support and enforce guarantees about a
data model.  In an RDBMS this is normally done through mechanisms such
as triggers, foreign keys, stored procedures, and access control.  As
far as I know, MySQL does not provide these mechanisms, at least not
in full generality.

Another thing which modern databases like Oracle and DB/2 have is
support for distributed transactions, through features such as
mirroring, multi-master synchronous replication, two phase commit, and
asynchronous replication under various user-defined constraints.
PostgreSQL has very limited support for this.  I don't know MySQL
provides here.

Ian