Let’s face it; MySQL is a fabulous database engine. Not only is it free, it’s small, powerful and easy to drive. It also runs happily on free operating systems and so it can be used to create incredibly cost-effective database servers.
Of course, like all database engines, it polarizes those in the computing world. Some people love it, others regards it as the spawn of the devil.
Happily, deciding into which camp you fall is easy. You're a MySQL fan if you:
- can pronounce LINUX with authority
- prefer a command line to a GUI
- have a copy of ‘The Cathedral and the Bazaar’
- don’t read manuals
- are so productive that you can wear a t shirt at work
- hate Microsoft
You are not a MySQL fan if you actively choose to wear a suit and believe that bug counts are inversely proportional to price.
All of which means that the future of MySQL is clear and well defined. It will continue to flourish in universities and web shops. It will be the database engine of choice wherever hackers (in the old sense) flourish – in the backrooms and at the departmental level. It will never make serious inroads into the enterprise; not because it doesn’t have the technical ability, but because the cultural fit is so bad.
Unhappy with that prognosis, MySQL (the company) has decided to change the product to suit the suits (if you see what I mean); hence the Enterprise edition that was offered for the first time recently. This version costs real money (from $595 - $4995/Server/Year) and comes in several flavours.
The Enterprise edition of MySQL is, in terms of the code base, identical to the free edition. It is distinguishable in three main ways:
- Monitoring and advisory service
- Production support
One of the great features of products like MySQL is that patches, bug fixes and new features can be rolled out as soon as they are available; typically on a much faster timeframe than other enterprise products.
This is superb for the enthusiast but it actually produces problems in the controlled environment of the enterprise, where changes to production systems are carefully managed.
So the Enterprise edition offers a new hot fix and service pack program that separate bug fixes and security issues from new features. The hot fixes are distributed and can be implemented immediately. The new features are distributed separately in both monthly and/or quarterly service packs. This separation enables the enterprise to keep the engine secure and implement new features to suit its own schedule.
2: Monitoring and advisory service
Whilst fans find MySQL easy and fun to drive, not every one agrees. Some large enterprises, particularly those with multi-server applications, have complained that the product looks too much like a black box.
So MySQL (the company) has added GUI windows (small ‘w’) to the box which allow light to enter, For example, enterprise users can view a ‘heat chart’ that shows what is happening across multiple servers. In addition, there is a facility for monitoring by exception so that the system reports only when a server is going rogue. Essentially there are a large number of new features; in addition the new tools also include a set of about 65 ‘best practice’ rules which can report on how your current system measures up.
3: Production support
For the enterprise customer there is an online knowledge base and (if you pay enough) 24/7 telephone support. You ring a number (in the US) and, within 30 minutes, a support engineer will ring back. Oddly, the website says that:
This is our "MySQL Emergency Support Line." You may call this line for any purpose, whether an emergency or not.
So, feel free to ring up anytime for a non-urgent, emergency chat.
In addition, if an enterprise customer reports a critical bug (data corruption, crashing server etc.) then MySQL will create and issue a specific hotfix for that bug and for that enterprise. For non-critical bugs (not as above, but still causing pain), the company offers a bug-escalation process so that such bugs end up being fixed faster than those reported by the non-paying customers.
This edition represents a significant change for the company which is going to have to be very, very careful over the next couple of years. In the past, its image has been of a friendly, anti-establishment, open-source kind of company. If it were a bloke, you’d expect it to wear sandals. Whilst the company is very keen not to lose that image, it also wishes to be perceived, in the future, as serious, corporate and suited.
The danger of trying to wear two images simultaneously is that they meld; in which case MySQL will end up looking like a suit wearing sandals. This will leave its stalwart fans feeling betrayed and it prospective new customers unimpressed. In fairness, the company is fully aware of the careful line it must tread here; however, there is another issue.
In the early days, MySQL was David fighting Goliath. David always gets the sympathy vote so the world has always been kind to the company. (Remember that MySQL didn’t even support transactions until recently but no-one really complained.) We’ve always thought to ourselves, “OK, maybe it doesn’t have every feature I want, but it’s free. What am I going to do? Ask for my money back?”
The bad news about growing up is that you become tall enough for your head to appear above the parapet. Purchasers of MySQL Enterprise edition will be able to draw a bead on a legitimate, paid-for, target. From now on, it’s ‘no more Mr. Nice Customer’.
It remains to be seen whether the company fully understands, and can cope with, the culture shock it is about to suffer; as callers change from ‘friends’ to ‘customers’. ®