To the faithful, Oracle’s acquisition of Innobase — a significant MySQL partner — is proof of what Oracle has believed all along: that MySQL’s success is a threat to Oracle’s database business and it’s only a matter of time before the two database vendors collide.
On the other hand, what if you’re not a believer? Suppose you’ve been using databases long enough to realise that MySQL’s capabilities aren’t even remotely comparable to Oracle’s and that the customers who rely on Oracle for mission-critical business would no more replace their Oracle databases with MySQL than an accountant would give up Excel for a pocket calculator. If that’s your view, then what should you make of the Innobase acquisition?
I’m not talking about which product is the most cost-effective way to store information. By that benchmark alone, MySQL would win hands-down. It’s very fast, very reliable, easy to use and the price is right. No contest.
Oracle, however, is a world-class enterprise RDBMS (relational database management system). Oracle engineers have a decades-long lead over MySQL in implementing the features developers demand for enterprise application environments, including transactions, views, stored procedures, fail-over, replication, triggers, data integrity enforcement, SQL standard compliance and more. To a database administrator, these are more than just buzzwords and MySQL has a long way to catch up.
That’s where Innobase comes in. Early on, MySQL’s developers did a very clever thing. They designed it in such a way that the code for storing and managing database tables was modular. That made it possible for MySQL to support multiple table types, including ones contributed by third-party vendors like Innobase.
The default table type for MySQL, called MyISAM, is very fast but doesn’t meet the enterprise requirements mentioned earlier. Innobase’s InnoDB table type takes steps in that direction, however, by providing MySQL with a transaction-safe storage engine. InnoDB now comes bundled with MySQL, beginning with the beta releases of version 5.0. Many observers believe the features it brings are essential to MySQL’s evolution and continued success.
That’s why when Oracle snapped up Innobase in early October it was easy to interpret the move as a major offensive on Oracle’s part. By taking control of one of MySQL’s vital internal organs, Oracle gains the power to crush the upstart at a whim, simply by closing its grip around Innobase.
But why would Oracle do that? Acquiring database customers is expensive and Oracle must compete not only with MySQL but also with DB2, SQL Server and Sybase and there are also other open source databases besides MySQL. As basic RDBMS functionality becomes increasingly commoditised, convincing a potential customer of your product’s unique value can be difficult, particularly for customers at the low end of the market.
By acquiring Innobase, however, Oracle gains three things. First, it gains accurate accounting of MySQL’s market share — because InnoDB ships with every copy. Second, and more importantly, it gains access to the list of MySQL customers who need InnoDB support. In other words, those specific customers who want the enterprise-class features Oracle has provided for years. Third, by owning the InnoDB code Oracle will be in a unique position to develop easy tools to let customers migrate from MySQL to Oracle when the time comes.
So why kill InnoDB or MySQL? I think Oracle has long recognised that what’s good for MySQL is good for the relational database market as a whole. Now, in the wake of the Innobase acquisition, MySQL may have become the best sales tool Oracle’s database division has.