Database Decisions Made Easy

Every few months someone will post on the Rails mailing list asking for advice on whether to use MySQL or PostgreSQL when building their Rails applications. At Joyent we use … both.

Strongspace uses MySQL for the application database, and to drive the authentication for scp and rsync. The Joyent Connector uses PostgreSQL for all its ActiveRecord models.

They’re both fast enough for the majority of projects, and have a pretty similar feature set. Plus, if you’re building with a database independent framework like Ruby on Rails or Hibernate it’ll only take you a few hours to switch between them.

I’ve used both databases and I’ve come to the realisation that you they’re basically interchangeable. So don’t worry about the tech geeks arguing about which one is ‘better’ or ‘faster’, odds are they’re both fine for your application.

Having said all that, just like the FeedLounge guys I prefer PostgreSQL, and it’s the database we’ll be using for all future applications here at Joyent.

5 responses to “Database Decisions Made Easy”

  1. I have to agree. PostgreSQL is my personal preference as well. The one reason I was hesitant to use it though, was the difficulty in finding a good frontend for it for the Mac. pgAdmin3 is just so incredibly painful to use and it crashes non-stop. Eventually I found Navicat PostgreSQL though, and I’ve been exceptionally happy with my database choice ever since.

  2. db/migrations and schema.rb are the only frontends you need!

  3. I’ve been thinking about the storage requirements of PostgreSQL compared to MySQL INNODB which is making PostgreSQL look much more attractive.

  4. Mike,

    I’m going to quote this blog on the PostgreSQL home page. If that’s a problem, just ping me and I’ll take it down. Thanks so much for your endorsement of our little RDBMS!