Oracle and MySQL are a perfect match

by John Adams

Related link:

Given all the news about Oracle's purchases of Innobase and more recently Sleepycat, it wasn't surprising to hear that Oracle had tried to buy MySQL. What was surprising is that it took so long.

There's a tension between transactional databases, which have hefty overhead in order to preserve the relational integrity of every record, and decision support systems, where massive search and aggregation is the point and relational integrity is something managed elsewhere.

For all its power as a transactional database, Oracle is an extremely poor value for a decision support system, precisely because you are paying for those transactional features that only get in the way of the job you're trying to do. That architectural mismatch hasn't stopped Oracle from selling its system for decision support, nor has it stopped customers from buying it--heck, it hasn't stopped customers from asking for it--but it has kept several of Oracle's competitors in the market, especially in the very large database world.

If Oracle were to acquire MySQL, what would it have? It would have a relational database which, unlike Oracle, is quite well designed for decision support, and which performs especially well in this role after its transactional features were ripped out. This would disappoint smaller shops, which like to have one database system to maintain, the relative ease of supporting one system outweighing the performance gains--not so significant at this scale--of using different systems for different purposes, but would please larger customers who would love having one vendor supplying and supporting both its operational data store and its decision support system.

Too bad MySQL wasn't for sale. Perhaps they'll find a nice transactional database to acquire and sell in a complete service offering of their own.

I've used both Oracle and Informix for ODS with Teradata for DSS in very large systems, and it's not a bad combination. What are you using? What aren't you using?