Network World
Saturday, November 22, 2008
DNSstuff.com
Get information about your IP
IP Information
50+ On-demand DNS and network tools

Community

Navigation

Should you ever use MySQL when Postgres is a superior DBMS?

By most measures, PostgreSQL and other members of the Postgres family are superior database management systems to MySQL.  They're more functional, more scalable, and easier to program.  Even so, MySQL has much more market/mind share than Postgres, and the reasons aren't solely mass insanity.

Let's start by reviewing some of the leading knocks against MySQL:

  • MySQL 4 and any version of MySQL over the MyISAM storage engine are missing some basic SQL standard transactional capability.  They should not be used for serious DBMS applications.
  • InnoDB, the usual transactional storage engine for MySQL, is of dubious scalability.  What's more, it's now owned by Oracle.
  • Falcon, the replacement transactional storage engine for MySQL, isn't generally available yet.  When it does come out, it will be immature.
  • Analytic functionality (even some basic kinds of join) has been problematic in MySQL.

But there are also some strong plusses on MySQL's ledger:

  • Many applications -- including Wordpress, on which I run all my blogs except this one -- are only available on MySQL.  (I would guess that this blog, which runs on Drupal, also runs over MySQL, but I haven't asked.)
  • MySQL is easy to set up.
  • Many people know how to run MySQL.
  • Some Very Large Web Databases run on MySQL.
  • Speciality data warehouse engines (e.g., Infobright Brighthouse, Kickfire) have been developed for MySQL.

As for Postgres:

  • PostgreSQL has been around for a long time. It has a large fraction of the features market-leading DBMS have, and in fact was the original research testbed for many of them.
  • EnterpriseDB's Postgres Plus adds more cool features, some free and some chargeable, including Oracle compatibility.
  • There are Postgres-specific data warehouse engines too.

Frankly, I like advanced DBMS features, such as robust support for various kinds of datatype.  So whenever it makes reasonable sense, I'd favor using the Postgres family.

Related links:

Reply

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <i> <b> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <blockquote> <br /> <br> <p>
  • Lines and paragraphs break automatically.
  • You can use BBCode tags in the text.
  • Web page addresses and e-mail addresses turn into links automatically.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.

About Community

The best place to talk about enterprise networking.

Advertisement: