Dear HN,
first of all thank you that you are reading this. Out of caution, please let me remind you that I don't want you to take this question and to start a "flame war". Arguments with facts would really be constructive.
I am sincerely interested if my current assumptions are true or where I am wrong.
Background:
My current employer asked me about MySQL and I mentioned those points below which were later countered with this:
http://pastie.org/456941
(Large) Parts of this gave me the classical "WTF" moment. So I thought I ask you about this.
Detailed arguments against MySQL from my side:
A long time ago I saw this nice PDF where there were some measurements between PgSQL and MySQL.
http://people.freebsd.org/~kris/scaling/7.0%20and%20beyond.pdf
Title: "FreeBSD 7.0 and Beyond" on Page 9 following there is a Case Study of MySQL vs. PgSQL.
This was for me the first reason to really take a closer look at MySQL.
Secondly I know that MySQL uses two different internal SQL engines. A X/Open XA distributed transaction processing (DTP) support; two phase commit as part of this, using Oracle's InnoDB engine
Full-text indexing and searching using MyISAM engine
Should Oracle at some point decide to revoke the usage rights of InnoDB for the open source community then users of MySQL would need to
switch to MyISAM which is, frankly said, terribly slow.
http://en.wikipedia.org/wiki/MySQL#Criticism
Regarding the licensing renewal which is necessary. Now even Oracle is planning to buy Sun, which would make me think hard why they would renew the license of InnoDB for MySQL anyway? (creating competition - "multi-year" extension of their licensing agreement, why would they continue?)
The next reason was that I have no theoretical, but empirical proof (I didn't enjoy debugging that) that I end up more often with table data corruption if I run MySQL. Ok, I can repair it, but why should that take up more of my time away doing other more productive things?
(It is even mentioned in the Criticism point of the wikipedia link above).
Also critical bugs get fixed slowly. E.g. It took them from 2003-2008 to fix this bug.
http://bugs.mysql.com/bug.php?id=989
Dear HN, please help me with this question.
Again, thank you for your time.
PostgreSQL tends to be what is favored by people here. I used to use it for everything until I tried to set up a replicated cluster with it. PostgreSQL's replication is severely lacking. Slony-I, the most mature of the bunch, is very difficult to set up (with many steps needed for every single table) and a lot slower than MySQL's replication (due to its use of SQL and triggers rather than binary log shipping as well as the fact that its design causes communication costs to grow quadratically).
However, PostgreSQL's query planner is a lot better than MySQL's (especially if you're doing something like subqueries) and I find that complex queries run decently faster. The community process is also a lot more attractive.
To address the Oracle question:
Oracle cannot withdraw InnoDB. It's GPL licensed. Anyone can fork it should Oracle decide they don't want to play ball - just as anyone can fork MySQL. In fact, there are already forks underway including Drizzle. So, that isn't a big deal. The bigger deal would be if Oracle decided to halt future development. I'm guessing they won't since it would simply mean they would loose control to the community that still has rights to the GPL'd code.
In the end, don't worry about this issue. It distracts from what is really important: actually creating something. They both work fine. There are plenty of abstractions that will allow you to create code that will work with either with no modifications. Do that, build your application, and let the pundits from either side debate this issue until they're blue in the face while you're actually creating useful things.