In short, the evolution of MySQL as an open source project and a community, long desired by Monty and others, is underway.
Not that Oracle is leaving everything up to the community. The conference's opening keynote was given to Oracle Chief Corporate Architect Edward Screven. He asserted that Oracle appreciates MySQL for the ways in which it differs from the Oracle database product--being lightweight, easy to install and manage, and good for real-time applications such as telecom--and that they will continue to improve it. He reported that many Oracle users keep MySQL in production as well, even if their license permits an unlimited number of Oracle instances. So Oracle has upcoming releases of every major component and wants to make MySQL a "great database on Windows," although Screven also reiterated their enthusiasm for Linux, Java, and other open source projects.
So far as the conference goes, results are encouraging. Some tutorials were packed yesterday, and there were only scattered empty seats in the 900-chair hall where this morning's keynotes were held.
Many people skip the tutorials at the start of a conference and come only for the sessions. I think they should give the tutorials a chance. I dropped in on several of them yesterday and found them very serious and fast-paced, going into great depth. Many are led by technical leaders in the field.
The conference comes at a time of unusual uncertainty and change for MySQL. I'm not talking about the Oracle acquisition, which the community dealt with last year. (Some notes, to which I contributed, from a July 2009 community leadership summit document the early community response to the Oracle purchase.) I'm referring to larger shifts in the database user community and technological advances in the field.
Two years ago, Brian Aker started Drizzle within MySQL, and Oracle continues to support the project. Aker presented it as a leaner MySQL, a return to its roots as a simple and nimble backing for web sites. I also saw in Drizzle a trend toward modularity in the design of RDBMSes, which should allow users to control trade-offs between features and performance.
Time will tell whether Drizzle satisfies enough of the existing MySQL user base to win their hearts, or meets the needs of a new group of users. I must say, though, that attendance at the Drizzle tutorial was low. (Perhaps this could be attributed to the advanced nature of the topic: storage engine design.)
Baron Schwartz, of Percona (and lead author of the most recent edition of the O'Reilly book, High Performance MySQL) says that InnoDB is improving rapidly, as Oracle, Percona, and others collaborate on making improvements in performance and utility. Stating that a new storage engine takes at least five years to become solid and trustworthy, Schwartz thinks that InnoDB will remain the only MySQL storage engine in production deployments for some time. He points out, "PBXT already has a few years under its belt, but hasn't had broad adoption yet." Meanwhile, InnoDB will become the default database (displacing MyISAM) in MySQL 5.5.
The other big trend with an impact on RDBMSes is the direct challenge known as the NoSQL movement. This is a very broad term, which I covered in two blogs coming before and after a Boston-area conference. The projects that fall under that label are also highly reminiscent of trends that have been around for a long time, even before RDBMSes. Key-value stores are among the earliest data structures in software, and document stores are the descendents of heirarchical databases.
NoSQL doesn't currently present a business threat to RDBMSes. They are currently for early adopters among envelope-pushing web sites and researchers. But they present a normative challenge. RDBMSes used to be the automatic choice for data storage and processing. MySQL, in particular, was the scrappy contender for speed and easy maintenance, the poster child for Clay Shirky's observations about software that enabled rapid creative development. Now the accusation is slung at MySQL of being awkward to set up and unable to handle the enormous traffic and volumes of data experienced by successful web sites.
I talked to Kaj Arnö, VP of Database Community at Oracle, who is sanguine about NoSQL projects. He pointed out their relationship to the past and agreeing that different solutions are appropriate for different needs.
And what about my challenge in last week's blog, MongoDB experts model the move from a relational database to MongoDB? I talked to Jeremy Zawodny of craigslist, who worked on the first edition of High Performance MySQL. He feels, as others have suggested, that we'll move more toward an environment where data is stored first in a NoSQL solution, which can handle heavy write loads better than MySQL. Then, crucial fields required for later report generation and data crunching will be extracted and put in a relational database.
Jeremy says the quest of the DBA or administrator is not to "fix" performance problems, but to "move the performance problems to the place where they're easiest and cheapest to deal with." In data stores, this may mean installing a NoSQL solution such as Cassandra. Physically, it could mean replacing disk with solid-store Flash drives. Zawodny said that this migration at craigslist moved the bottleneck from the storage system to the CPU, where he can benefit from Moore's Law. (Ironically, the RAID controller can also become a bottleneck, instead of the performance boost it's supposed to be.)
Cloud computing is another trend that fits nicely with databases but requires new approaches to configuration, monitoring, and querying.
As the main sessions of the MySQL conference start, I'll be talking to more individuals and companies and reporting back.