Oracle is the “official” distributor of MySQL . MySQL AB had a policy of requiring outside code contributors to assign their copyrights to MySQL AB, so Oracle is the only company able to distribute MySQL on terms other than the GPL. They have a large customer base for their Enterprise Edition of MySQL, which includes some enterprise features not available in the Community Edition. Since most users of MySQL do not use the Enterprise Edition, I will focus on features included in the Community Edition.
As a company that grew up around enterprise databases, Oracle obviously had a great deal of database experience long before they bought Sun. They’ve made several substantial optimizations in MySQL 5.5 and the recently released 5.6. Version 5.5 features included:
* Scalability enhancements for multi-core systems
* Semisynchronous replication, which ensures that at least one slave knows about a transaction before it is committed to disk
* InnoDB as the default storage engine, rather than the non-transactional and non-durable MyISAM storage engine
* The Performance Schema is available for diagnosis of server slowdowns
The new 5.6 release includes several great new features as well, including:
* Index condition pushdown, which gives the storage engine more information about which rows to return and can result in less I/O for certain queries
* Multi-range reads, which allow the database to optimize sequential disk accesses on non-SSD disks
* Several InnoDB performance and scalability improvements
* A memcached API for InnoDB, which allows extremely fast reads and writes for single-row keyed lookups
* Several enhancements to replication, including allowing one slave thread per database for parallel execution
Clearly, Oracle has not left MySQL to die, as some pessimists predicted back when Oracle first purchased Sun. On the contrary, Oracle has done much to improve the MySQL Community Edition and make it even more competitive. The 5.6 release has raised the bar for MySQL servers, and shows me that Oracle intends for their official edition of MySQL to be the best out there.
There are still detractors, however. Some of Oracle’s decisions have not gone over well in the MySQL community. The MySQL Conference and Expo, an annual event since 2003, was discontinued after 2011. More recently, it was revealed that Oracle is not publishing test cases for any bugs it deems to be security-related. While intended to make life harder for malicious hackers, it also makes it more difficult for community distributions of MySQL to do regression testing on their versions of MySQL.
Another concern for some has been that many of the original core developers left for other companies after Sun and then Oracle took over. After changing corporate owners twice, it’s fairly typical that some employees decided to leave. Percona and Monty Program have both hired a number of former MySQL employees. I don’t view this as a major problem, however. Oracle still has a strong core of MySQL/InnoDB developers, and has plenty of database experience in-house.
Next week: Percona Server