As most of you will know, the big news recently in the MySQL world, besides
the launch of the long-awaited MySQL 5, involves Oracle. Oracle has done two
things that will catch the attention of MySQL users. First was the purchase of
Finnish company Innobase OY, who develop the code for the InnoDB storage
engine, and secondly Oracle’s release of their free Express edition database
software. Oracle Express is limited to single-processor machines, 4GB of data
and 1GB memory, but is basically the same Oracle platform, allowing users to
easily upgrade if needs be.
The InnoDB storage engine has been a critical part of MySQL’s success. The
default MyISAM (at least for most installations) storage engine does not
support transactions, while InnoDB does. MySQL is still perceived in the market
as not being as fully featured as the proprietary DBMS’, nor even as its open
source rivals Firebird and PostgreSQL. MySQL for a while has pointed to InnoDB
as its most reliable, fully featured storage engine, so its purchase by Oracle
has some potentially severe implications for MySQL.
Brilliant timing by Oracle
The timing of these announcements was well chosen by Oracle. Just as MySQL
was about to bask in the glow of the accolades after the release of MySQL 5,
which finally contains most of the features users have been crying out for,
Oracle steals their thunder by taking ownership of a critical part of MySQL’s
success, and shortly after releasing Oracle Express to further muddy the
waters. I am sure MySQL executives hearts skipped a few beats after Oracle made
the announcement, and the company has been roundly criticized for allowing
Oracle to take control of such a key element in this way. The negotiations for
the InnoDB’s continued use with MySQL are bound to be interesting, as
negotiating with the tiny Innobase OY is certainly not the same as negotiating
with the giant Oracle.
The release of the free Express version clouds the issue for price-conscious
users who would have been tempted by MySQL. It is the old trick of the first
hit being free, and Oracle will be hoping that users will pay for the upgrade
as their needs grow. No matter what sort of database abstraction is used,
migrating to another DBMS is never easy, and users who have already built their
solutions on Oracle will most likely pay Oracle for a painless upgrade, rather
than pay for a likely painful migration to another database.
In spite of Oracle’s protestations to the contrary, MySQL has been poaching
customers from Oracle. Oracle, positioned as they are as the premier DBMS, has
not been affected as much as some of the other companies. We have already seen
Informix sold to IBM, and Sybase desperately trying to position themselves as
much more than just another database. MySQL may not stand up to a comparison
with Oracle, but it does not do too badly with some of the others, and it is
getting harder to differentiate them feature wise. So, the purchase has a
number of benefits for Oracle. It creates uncertainty amongst potential MySQL
customers, as they now seem reliant on Oracle. In this sense, the move is an
aggressive move against MySQL. However, there is much more than that. It also
helps Oracle tackle their other competitors. The middle range DBMS’s are now
under threat from two sides – their high-end customers may move to Oracle
anyway because of the perception of Oracle as market leader, while their
low-end customers, who may have been unwilling to take a chance on MySQL, can
now either use Oracle Express, or MySQL with InnoDB, safe in the knowledge that
it is supported by Oracle. The aims here are slightly contradictory. Oracle can
make a great success of its partnership with MySQL, and really put the pressure
on its other competitors. But MySQL too is a competitor, so it will be
interesting to watch how they maneuver. My guess is they will initially work
hard to ease the communities’ fears, support InnoDB as well as they can, and
target their other competitors first. The success of this will probably
determine what follows.
Open and not so open source
The beauty of open source is that it is just that – open. The InnoDB code
has been released under the GPL. If a future version is not, the opportunity
exists for another party to continue development of the code. However, the InnoDB
Hot Backup tool is proprietary, and it’s a key part of InnoDB’s high-end
usability. If another party forks the code, Oracle’s ownership of InnoDB Hot
Backup means it holds the aces. In addition, InnoDB is dual-licensed in the
same way that MySQL is. There is a GPL version for certain users, while others
need to purchase a commercial license. Oracle has a number of options that can
seriously affect MySQL. They can charge MySQL a premium for the commercial use
of InnoDB, possibly forcing MySQL to drive the price of its commercial version
up, reducing its attractiveness to customers. Alternatively, they could release
InnoDB under the GPL for all users, leaving MySQL in the unenviable position of
having a GPL version of its products that is more fully featured than the
commercial version.
Oracle and SAP
A key competitor of Oracle is SAP. MaxDB is based on SAP DB, which SAP
licensed to MySQL, and which the two companies jointly develop and market. It
is aimed in particular at SAP implementations, just the market that Oracle has
been targeting so aggressively with the purchase for example of PeopleSoft.
Oracle and SAP now both have partnerships with MySQL, and you can be certain
that Oracle will be targeting those customers considering SAP/MaxDB. Oracle is
much more than just a database company. Their CRM and business software is just
as important, and Oracle can use this leverage to their advantage.
Oracle and open source
Oracle seems to understand open source better than many of its proprietary
rivals, and to use this in ways that benefit the company. Look for example at
their successful campaigns aimed at running Oracle on Linux. I predict that they
will continue to release InnoDB under the dual-license for the foreseeable
future, secure in the knowledge that they can change strategy at any time, but
using the opportunity to win goodwill amongst the open source community.
MySQL’s response
There is little doubt that MySQL will be concerned, in spite of what their
press release says. The speed of its appearance probably only reaffirms their
concern. However, MySQL is by no means helpless and beholden to Oracle. Even if
Oracle does withhold InnoDB, MySQL does have a stable, fully-featured database
in its arsenal. As mentioned earlier, that’s MaxDB, or the old SAP DB. It has
not received that much attention until now and perhaps MySQL has been a little
lax in integrating it with the rest of their systems, what with their focus on
version 5’s release. However, MaxDB now assumes a much more important role, and
MySQL should be working on integrating it as quickly as possible, to give
customers an alternative to InnoDB. MySQL is also now placed in the position of
middleman in the rivalry between SAP and Oracle. Both companies dwarf MySQL,
but there is room for some tricky maneuvering. Also, don’t forget Sleepycat
software’s BDB, which used to be the only MySQL storage engine (or table type
as it was called then) that supported transactions. However, in spite of the
length of time BDB has been integrated with MySQL, the interface is still only
considered gamma quality. I am sure MySQL too will be prioritizing this,
providing a 3rd alternative to users, and one that isn’t (yet) part of the
fiery SAP/Oracle rivalry. It is both a strength and a weakness that MySQL utilizes
3rd party storage engines. The strength being that MySQL can relatively easily
make use of others’ mature technology to enhance the codebase and provide more
features, with little effort required from MySQL developers. The weakness, as
Oracle has shown, is that those 3rd parties are outside MySQL’s control, and
may change the terms under which they work with MySQL.
MySQL needs development resources to answer the challenge – MaxDB
integration and BDB integration, as well as adding transactions and key
features to the core MyISAM storage engine, which is already part of the
roadmap, all require serious work. MySQL may consider hiring InnoDB developers,
but that comes at the cost of potentially damaging InnoDB itself, which MySQL
is still heavily reliant on, and antagonizing its new business partner.
Conclusion
The advantages for Oracle are clear, and they have a wide scope to fine-tune
their strategy. MySQL has more of a tightrope to walk, and the MySQL user
community will be watching with interest, and some concern.