What makes MySQL so popular?

In a previous post, I discussed the claims of both MySQL (The world's most popular open source database) and PostgreSQL (The world's most advanced open source database).  I said I would dig deeper into WHY MySQL is so popular. 

The answer is quite simple, really.  It is pervasive.  But, to fully understand how they got this way and where they are pervasive, we need to go back more than a few years.

MySQL is roughly 10 years old.  That means it was started in the late 90s.  This was right about the time that everyone and their brother decided that they could have a website.  For a brief history of the web, check out the Hobbs Internet Timeline.  As you can see, the birth of MySQL ties nicely into the explosion of the internet.  For example, 1998, the 2 millionth domain name is registered.  By 2000, there are over 1 billion index-able pages.

So, back to my story.  The web is exploding.  Thousands of static websites are popping up every day.  And, small web hosting companies are starting to take hold.  The competition among the regional web hosts leads them to expand their offerings and, at the same time, websites are struggling to differentiate themselves.  While he majority of sites are still static content, many require a small backend database.  MySQL is the ONLY FREE database around.  MySQL becomes the default install in many of these webhosting companies.  As tools for building sites become more popular (content management systems, forums, etc.) MySQL is the only viable choice.  (Actually, Postgres is a viable alternative, but not as well known at this point because there is no company pushing it.)

And, in reality, the rest is history.  MySQL has solidified itself as the de facto standard for the web/edge tier in read-only applications.  The LAMP stack is set.

Jump forward to today, however, and the waters become a little muddy.  Many websites do more than hold static data or perform simple operations.  The web is now a tool for doing real business. 

MySQL, who for many years scoffed at the idea of transactions, is struggling to add features to compete.  The big three players (Oracle, SQL Server, DB2) have added low end free versions and PostgreSQL and EnterpriseDB are gaining in popularity every day. 

MySQL is now finding itself in a not-so-enviable position.  They have spent so many years defining themselves in the web/edge space as the best read-only database, that they may have done too good of a job and they may be stuck there forever.

And many questions remain. 

  • Will MySQL ever be able to develop the features necessary to play with the big boys? 
  • Will they be able to overcome the conventional wisdom that they are not an enterprise-class database?

Time will tell... 

Just look at some of their showcase customers.  Sabre (Travelocity) is a great case study for MySQL But, even there, they are stuck in the read-only space.  Sabre uses MySQL on their Travelocity site whenever you search for a hotel or flight.  But, as soon as you decide to purchase, you are immediately switched over to Oracle to handle the transaction.

And I don't want to hear about Google.  They don't count.  Google employs more DBAs, developers and architects than just about anyone else in the world.  They can make any database do anything they want it to.

MySQL - The World's Most Popular Database for read-only, lightweight websites.