Re: [OT] MySQL is bad, but THIS bad? - Mailing list pgsql-hackers

From Dawid Kuroczko
Subject Re: [OT] MySQL is bad, but THIS bad?
Date
Msg-id 758d5e7f0605181626q44434730ged59fb1caddfc066@mail.gmail.com
Whole thread Raw
In response to Re: [OT] MySQL is bad, but THIS bad?  ("Jim C. Nasby" <jnasby@pervasive.com>)
Responses Re: [OT] MySQL is bad, but THIS bad?
List pgsql-hackers
On 5/18/06, Jim C. Nasby <jnasby@pervasive.com> wrote:
> On Wed, May 17, 2006 at 09:35:34PM -0400, John DeSoi wrote:
> >
> > On May 17, 2006, at 8:08 PM, Mark Woodward wrote:
> >
> > >What is the best way to go about creating a "plug and play,"
> > >PostgreSQL
> > >replacement for MySQL? I think the biggest problem getting PostgreSQL
> > >accepted is that so much code is available for MySQL.
> >
> >
> > http://pgfoundry.org/projects/mysqlcompat/
>
> Even better would be coming up with a compatability mode, a la what
> EnterpriseDB has done for Oracle.

I don't think we actually want such a mode.  In theory it would be
great, but in practise... Especially from performance standpoint.

I mean, application for MySQL would usually be written as: quick
connect, do a query, disconnect.  No application-level caching, no
connection keep-alive.  First run on a similar hardware would be
a performance disaster. PostgreSQL connection initialisation
will be slower (yes, pgpool, but how much do you want to bet,
the reaction would be: "you said compatibility mode! no mention
of pgpool!"), and no caching would be noticable, to say the least.

I don't want to suggest adding caching to postgresql (I know it
isn't that great).  I want to suggest that MySQL users are used
to it and will be unhappy to part from it.

So, if you want to help people migrate to Postgres, better tell
them how to fix mysqlisms. I mean: "no replace into"? tell them
about create trigger on insert to handle duplicates.  No caching,
tell them about memcached and its advantages.  Tell how to
use pgpool.

Personally, I wish I had better knowledge of PostgreSQL years
back, when one project was started... I didn't know PostgreSQL
then, and well, MySQL outperformed it.  Of course when real
load was given, MyISAM were a performance disaster, but then
there was InnoDB...  And sometimes some developer will select
count(*) on InnoDB, and InnoDB will make a temporary table with
all the data, holding the lock on the table...  And sometimes the
replication will just break, and sometimes you need repair table.
All the usual fun. ;)

While I can talk to the DBAs and tell them about table partitioning,
PITR, MVCC, online backups, etc, etc. then add spice with PL/pgSQL
and other PL/*s the real problem is people are used to MySQL --
-- they know how to handle it, how to support it, what to expect
from it. The bigger the company, the harder it is to convince people
that they should start using something completely new. An important
application with 1 or 2 people who know what to do, when after a major
failure, restart doesn't help. This makes it very hard...

Personally my opinion is that there is no point in pushing PostgreSQL
everywhere -- if there is no siginifcant performance gain, most managers
will refuse it, on the grounds that "if it ain't (too) broke, don't fix it".
The real places to "attack at" are the BIG dbs, the dataware housing
applications.  Places where MySQL is not used, because someones
select count(*) should not kill the database.  Because the queries
take few hours to complete "by design". This should be doable. :)
  Regards,     Dawid


pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: [COMMITTERS] pgsql: Add simplified sparc8 ASM for solaris_sparc.s,
Next
From: Robert Treat
Date:
Subject: Re: [OT] MySQL is bad, but THIS bad?