However, there is something positive planned for MySQL 5.2 -
foreign keys. Yes, you read right, foreign keys! They have been supported by
the InnoDB storage engine since the days of MySQL 3.23, and the syntax
has been supported by the other storage engines for a while, so most developers
have hardly noticed their omission. However, from version 5.2 all storage
engines, including the MyISAM engine will fully support them. MyISAM was
originally designed as a light, fast, storage engine. With all the new features
added since its humble beginnings, it will be interesting to see how its
The big difference between the new features being added in upcoming versions
of MySQL, and those that were still being added two or three years ago, is how
less likely an experienced DBA, who is a newcomer to MySQL, will be surprised
that the feature is not there. Before, absolutely vital features such as views,
triggers, subqueries and stored procedures were missing. All of these
necessities are now there, and the new features are more from the realm of nice-to-haves
for most developers. If you are ardently disagreeing at this point, claiming
the absolute necessity of something like the event scheduler, look around, you
are the exception that proves the rule.
There is little missing in terms of features now. Instead, MySQL's status as
a contender is now more dependant on 3rd-party support, and integration into
enterprise applications, where it still lags significantly. However, the doors
are now open, and there is little technically stopping more widespread
adoption. The murky realms of marketing and deal making will determine MySQL's
future in that arena.
Recognition as a contender
Perhaps the greatest recognition that MySQL has arrived
exactly that would be) has come from Oracle. Oracle, still broadly perceived as
the leading database vendor, have purchased
, who are responsible for MySQL's most advanced storage engine, InnoDB.
Shortly after, they purchased
, who are responsible for the BDB storage engine. Both these
storage engines add much-needed functionality, without which MySQL again reverts
to toy database status. Moreover, most indicative of all, Oracle made an offer
to purchase MySQL, which was turned down.
However, MySQL has responded
in the way one would expect
. They've looked at securing the expertise to
build their own transactional storage engine, and have done so by buying Jim
Starkey's Netfrastructure, and securing the services of Jim Starkey. Starkey is
highly-regarded as the father of Interbase
, which later forked into
Firebird. MySQL have also secured a multi-year deal with Oracle renewing their InnoDB
licensing, which ensures stability for a while.
At the same time, Starkey and others have clearly been hard at work. A new
storage engine, Falcon, should be ready for beta testing soon. Falcon will be a
fully-featured transactional MySQL storage engine, based on the mature
Netfrastructure engine, which has been in use of over 4-years, and has now been
integrated into MySQL. As Starkey made clear in a presentation at the 2006
MySQL Users Conference in Santa Clara in late April, Falcon is not an InnoDB
clone, a Firebird clone, a standalone DBMS or Netfrastructure. It's a fully-featured
storage engine that's likely to become the de facto standard for MySQL.
MySQL today is in a healthy position. The company supporting it is making
good revenue, its technical development has come along well to the point where it
is sufficient for the vast majority of the market, and there is great expertise
continuing to develop it. It is positioning itself so that even if Oracle's
moves are threatening, it will come through without much disruption. The
biggest risk for its future is probably if MySQL AB accepts a buyout offer from
Oracle, and as MySQL continues to make inroads into Oracles database market,
Oracle will can respond by throwing money at MySQL to make the problem go away
(which they've already tried), as well as positioning themselves as more than
just a database company, which they are doing relatively successfully.
This article originally appeared on DatabaseJournal.com.