Friday, August 10, 2012

MySQL-to-PostgreSQL Migration Data from The451.com

As you know, due to PostgreSQL's wide redistribution, worldwide user base, and liberal licensing policies (i.e. no registration required), hard data on PostgreSQL adoption is somewhat hard to come by.  That's why I'm very grateful to The451.com, an open-source-friendly analyst service, for sharing with me the PostgreSQL-relevant contents of their report, MySQL vs. NoSQL and NewSQL: 2011-2015.

The451.com is no stranger to open source databases; their analytics services are built using PostgreSQL, MySQL and probably others.  So their analysis is a bit more on-target than other analysts (not that I would be thinking of anyone in particular) who are still treating open source databases as a fringe alternative.  Matt Aslett is their database and information storage technology guru.

The part of their report I found the most interesting was this part:
In fact, despite significant interest in NoSQL and NewSQL products, almost as many MySQL users had deployed PostgreSQL as a direct replacement for MySQL (17.6%) than all of the NoSQL and NewSQL databases combined (20%).
And:
Our survey results support this anecdotal evidence, with PostgreSQL by far the most popular choice among users as a direct replacement for MySQL, ahead of MySQL derivatives such as MariaDB, Percona Server and Amazon's RDS (Relational Database Service).
I'd some idea that we were seeing a lot of post-Oracle-acquisition MySQL refugees in the PostgreSQL community.  However, given the strong appeal that the new databases have for web developers, I'd assumed that three times as many developers were going to non-relational solutions as were to PostgreSQL.  I'm pleasantly surprised to see these figures from the451.com.

Of course, this means that us PostgreSQL folks really need to work even harder on being welcoming to former MySQL users.  They're our users now, and if they have funny ideas about SQL syntax, we need to be encouraging and helpful rather than critical.  And, above all, not bash MySQL.

The summary report also has the first solid figure I've seen on PostgreSQL market share in a while (hint: it's higher than 10%).   You can access it here.  To access the full base report, you need to apply for a full free trial membership.  As a warning, that free trial registration feeds into their sales reps, so don't be surprised if you get a call later.

8 comments:

  1. Thank you for sharing this real-life scenario.
    Could you provide just the PostgreSQL market share number here for people not wanting to be called by sales?

    I absolutely agree that helping and encouraging Oracle and MySQL users to migrate should be a top priority for the PostgreSQL community!
    This could be achieved by better (automatic) tool support, documentation, real-life migration scenarios and friendly personal communication.

    An easy start are the free remote PostgreSQL databases on Heroku:
    http://momjian.us/main/blogs/pgblog/2012.html#July_23_2012
    A mostly automatic migration tool for (small) MySQL databases (to these Heroku instances) could be a game-changer!

    Helping PHP projects to support PostgreSQL out-of-the-box would remove another major hurdle:
    http://wiki.postgresql.org/wiki/Wordpress
    https://groups.google.com/forum/?fromgroups#!topic/joomlabugsquad/LWQ0zyZ9PMg
    http://dev.piwik.org/trac/ticket/500

    Drupal (the number #3 CMS after Wordpress and Joomla) already has good PostgreSQL support and even a migration tool:
    http://drupal.org/project/dbtng_migrator http://groups.drupal.org/postgresql

    ReplyDelete
    Replies
    1. Sorry, I promised the451 that I wouldn't put all the goodies in my blog post. Gotta hold out at least one statistic.

      Delete
  2. Sad that this post from Planet Python did not land on Planet PostgreSQL:
    http://rbtcollins.wordpress.com/2012/08/13/minimising-downtime-for-schema-changes-with-postgresql/

    With the replication feature of PostgreSQL 9.1, Launchpad managed to reduce schema changes downtime from 90 seconds to 5 seconds, while running 10 thousand transactions per minute.
    Yet another reason to upgrade old versions ;-)

    ReplyDelete
    Replies
    1. Rene,

      You need to sign up for Planet Postgres to be on it. Also, you'd need to have a separate feed address for just the PostgreSQL-related posts.

      In the meantime, I'll reblog your post.

      Delete
  3. Hi Josh

    Recently became aware of this post. Interesting to see your view on the 451 report that I also found interesting.

    My personal interest in MySQL always came from a combined interest in databases and championing open source. So if there are MySQL users moving to PostgreSQL, that's kind of fine by me. In fact, it's only positive, I think PostgreSQL deserves a slightly larger share of the pie than you used to have in the past! Take good care of our refugees! At the same time, we keep on taking care of those who stay. There are plenty of them, and not all of them will ever be able to use PostgreSQL, nor NoSQL.

    Personally I wasn't that surprised to find out relational databases are still holding out against NoSQL. We have 30 years of inertia on our side, so 3 years of hype isn't going to chance everyone to NoSQL just like that. I follow both document and graph databases with great interest, and I like the fact they are introducing fresh new thinking into the field. But it takes more than 3 years to take over the DB world...

    I would be careful in reading the report as absolute truth on market shares. The survey was primarily targeted at a MySQL audience. So for instance it is a result of the methodology that it finds many people migrating away from MySQL, since the sample consists of existing MySQL users. Those migrating from something else (be it Oracle or MongoDB, I've seen both) to MySQL were not captured by the survey. For similar reasons I think Oracle and SQL Server are seriously underrepresented.

    henrik ingo

    ReplyDelete
    Replies
    1. Henrik,

      Thanks so much for commenting! Re: noSQL, one thing which we plan to prove in the Postgres world is that one of the ways relational databases have done so well for so long is our ability to absorb other database concepts. Once PostgreSQL has a fully indexed JSON type and multi-master replication, for example, most document database solutions become a lot less competitive. And we can do that without giving up relationality.

      Regarding the migrations from MySQL: that's why I focused on the two stats I did. It's taken for granted that ex-MySQL users are migrating to NoSQL and/or MariaDB/Drizzle, but the451's statistics don't bear that out; Postgres is the single most popular target for people who were leaving MySQL anyway. This is also news because you simply didn't see this volume of migrations 5 years ago.

      Delete
    2. Regarding HTTP and JSON in Postgres, you might remember I used to fiddle with similar ideas in Drizzle (but I don't have the time now that I used to have in 2011). Since NoSQL is basically just SELECT blobcol FROM t WHERE id=? I completely agree that with some JSON related additions, a relational database can also expose really cool NoSQL features.

      Feel free to steal any of my ideas:
      What was done:
      http://docs.drizzle.org/plugins/json_server/index.html
      What was not (yet) done:
      https://blueprints.launchpad.net/drizzle/+spec/json-server

      I personally think exposing a HTTP port into your relational database, even just to still keep using SQL as the payload, is a great benefit. For platforms like node.js using HTTP seems like a great fit.

      Delete
  4. They've got a lot to make up for document imaging services, considering the reputation its predecessor has in the field.

    ReplyDelete