Thursday, May 28, 2009

The Big Misperception by new MySQL Customers

When meeting with MySQL customers I find they usually have some very strong misperceptions of using the free version (Community Version) of MySQL and that they have no need to purchase the Enterprise Version of MySQL.

First of all, most new MySQL users do not install, configure, tune or manage the MySQL database server properly. MySQL is the easiest database server in the world to install, but if used in a production environment it needs to be set up properly. When an organization purchases an Oracle license for six or seven figures they understand they had better get the appropriate expertise to manage their Oracle database server. When downloading MySQL for free, they think anybody can manage the MySQL server because it is free and anybody can install it. There is a big difference between installing and playing with a MySQL database server and running it in a production environment.

MySQL is extremely popular with web applications. Often traditional OLTP and DW DBAs are not familiar with architectures surrounding the MySQL database server or how web applications need to be configured differently than a traditional OLTP database or data warehouse application.

When using the MySQL server in a production environment it needs to be configured properly for it to run right. Problems new customers can have when using MySQL:
  • Database server running slow, hanging and possibly crashing because it was not configured properly for the production server environment it will be running in.
  • Batch operations taking 40 - 60 hours when they should be taking 20 - 60 minutes because the database server is not tuned properly.
  • High cost of using MySQL because customers do not understand all the features of MySQL.
  • Not using MySQL for the right type of application or using the wrong architecture for their MySQL solution.
New customers talk about how they do not need to purchase the Enterprise version of MySQL and how support is not necessary. MySQL support is arguably the best support in the IT industry and MySQL support people are well recognized experts in MySQL. MySQL support people are not call takers, they are experienced experts in MySQL. So often one support can justify the cost of purchasing a MySQL Enterprise License.

When customers ask if they should be purchasing the MySQL Enterprise edition, I ask them these following questions.
  1. If your database server crashes and it costs your company money or impacts your business you should be looking at support. Production database servers should be running in a supported environment.
  2. Do you have the expertise to configure and tune your database server?
  3. Do you understand the ramifications of how you are configuring MySQL, the architecture it will run under and what features you are using? If not, you could be setting yourself up for problems down the road?
I guess the question is, can your business afford to run the free version of MySQL or should you be purchasing the supported Enterprise release of MySQL.? It's so funny, because no one would every run an important Oracle database server without some type of support. So I always wonder why a customer would run the community version of MySQL and not the supported version of MySQL for critical applications?


Simon J Mudd said...

Very true. MySQL support *is* good and has helped me on many occasions. I have a much better appreciation of the product thanks to the support staff than I would have had otherwise.

There are a lot of textbooks out there but it's not the same as getting feedback for your problem from people who know the product more than you.

So I would definitely agree that it's worth considering paying for support. I guess MySQL/Sun are more likely to take your problems into account as a paying customer.

Unknown said...

Can you site a specific case where a misconfiguration (or more likely not configured from the default settings) would result in a server crash? Things should work right out of the box, but not optimally. So they could make the server run very very slowly and stack connections, but I've never seen it crash before.

Unknown said...

Very good point. Using default configurations if not tuned for production environments usually end up with the database running slow. It does not crash the server. Using when there is a crash it is because someone has filled a file system, or done something to hang the system.

Thanks for the input!

Mark Callaghan said...

I completely agree with you. MySQL Support is staffed by experts who can save users a lot of time and money.

I think that MySQL has created some of the confusion about Enterprise vs Community because they have made people think that the code is the difference. But the real difference is support and MEM.

Arjen Lentz said...

a) It's not a license
b) only enterprise platinum (@ $5000/server/year) provides any support with tuning.

Baron said...

George, you say "tuning" an awful lot. My experience is that tuning and configuring is a very low-ROI activity compared to other types of performance optimization.

Anonymous said...

Baron, tuning may have been used to mean things like query tuning and architecture as well. We do quite a bit of that sort of thing in the Sun MySQL support team.

Arjen, most of the "tuning" support we deliver is not to Platinum level customers. You can get a great deal of tuning help, particularly as a new user of MySQL, just by asking for help with understanding how things work in a particular situation, which is available at any Enterprise contract level.

Now, if you want us to go and look at the server status variables, slow query log, common queries, Innodb status, operating system settings, hardware configuration and application design and suggest ways to improve things, that would be the sort of thing that's usually done in any great depth only for those with a Platinum contract.

James Day, MySQL Senior Support Engineer, Sun Microsystems

Arjen Lentz said...

James, I know. Remember I used to be one of your colleagues even before you were ;-)

Funnily enough, that long list you cover only under platinum? *exactly* what people out there need.

Look, I'm not complaining!
Have you heard of the contrast principle?
Thank you, and have a great weekend.