[TriLUG] mysql as enterprise choice vs postgresql, learning curves?

Michael Alan Dorman mdorman at debian.org
Mon Mar 1 13:17:16 EST 2004


Joseph Tate <jtate at dragonstrider.com> writes:
> As for administration it's a little saner than the MySQL
> installation.  Everything is configured through text files rather
> than connecting to some system database.  If you're used to the
> MySQL way of doing things then you might run into several
> distinctions between the systems, but I don't think they will bother
> *you* too much.

Oh, I don't know if it's any saner.  I'd just say different.

I mean, you still have to create users in a system database and grant
them access, etc.---I perfer the PostgreSQL syntax ('create user
blah'), but I think it's very much a case of De Gustibus.  And I don't
think pg_hba.conf or postgresql.conf have anything to recommend them
over my.cnf.

I was an early MySQL adopter, first working with it back in, oh, early
'96, I think. That said, these days I build diverse sorts of moderate
to high volume systems running on PostgreSQL.  I generally try to stay
out of MySQL vs. PostgreSQL discussions because I always end up being
flamed, one way or the other.

Never let it be said I'm not a slow learner. ;)

I am the primary architect of i-squad.com, which is backed by
PostgreSQL, and sees approximately 2M hits/day, 80% of which involve
more than one database access---often relatively complex queries.  The
database is running on a dual PIII/1Ghz/1GB machine with four Ultra2
SCSI disks in a mirrored configuration serving the database.

I am the primary architect of antespam.com, a spam filtering service
that uses PostgreSQL for storage of spam that it catches, and we are
able to handle ~ 1 message/second (with 95% of those messages being
stored) on (I kid you not) a dual PII/300 that is *also* running the
SpamAssassin-based engine.  Oh, and it logs each message, sometimes
multiple times (for multiple recipients), so we're often seeing 2
inserts/second.

I find that PostgreSQL scales very well---it often suprises me with
the transaction volumes I am able to get out of it on garden-variety
hardware.

I also very much depend on many of the features that MySQL has not had
(and in some cases still doesn't): transactions, subselects, triggers,
constraints, views, referential integrity.  Just having the ability to
construct views has saved my ass on more than one occasion.

If your data model is simple enough, you may not need many of those
abilities.  But when you start getting into the serious data
modelling, with forty or fifty tables and lots of relationships and so
forth, they quit being "nice to have" and start being "essential".

Mike
-- 
She keeps my elephants out of the rain -- Adrian Belew



More information about the TriLUG mailing list