Oracle wins big with its Innobase acquisition

When it comes to competing with MySQL, why beat 'em when you can make 'em join you?

To the faithful, Oracle's acquisition of key MySQL partner Innobase  is proof of what they've believed all along: MySQL's success is a threat to Oracle's database business and it's only a matter of time before the two companies collide.

On the other hand, what if you're not a believer? Suppose you've been using databases long enough to realize 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 databases with MySQL than an accountant would give up Excel for a pocket calculator. What should you make of the Innobase acquisition then?

I'm not talking about which product is the most cost-effective way to store information. Judging 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 DBA, 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 feel that 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, seriously, why would Oracle do that?

Acquiring database customers is expensive. Remember, Oracle must compete not only with MySQL but also with IBM DB2, Microsoft SQL Server, Sybase, and other open source databases. As basic RDBMS functionality becomes increasingly commoditized, 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. One, it gains accurate accounting of MySQL's market share (because InnoDB ships with every copy). Two, 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. And finally, 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 recognized 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.