On the last day of MySQL ABs second-annual user conference, eWEEK.coms Database Center Editor Lisa Vaas caught up with MySQL co-founder and chief technology officer Michael “Monty” Widenius to find out whats on the technology roadmap for the open-source database maker.
In the interview, Widenius tells us that his vision for the open-source database is to spread it as far and wide as possible, both geographically and in a wide range of devices, such as PDAs.
To get there, the small Swedish company has added 10 new developers and has taken on enterprise-class capabilities such as the MySQL Cluster technology rolled out this week in Orlando, Fla. And perhaps most importantly, MySQL is keeping a sharp eye on an evolving database market that it sees as being well-primed for its mantra of lean, mean, no-frills commodity databases.
How are attendees of the MySQL conference responding to the rollout of MySQL Cluster?
The cluster sessions were extremely well-attended, which shows that its not just for the enterprise, but addresses a range of database uses.
I like solutions that provide more speed because Ive worked my whole life making fast software. Cluster will be a solution that gives users much more speed for certain kinds of applications. The way cluster works is a natural extension to what we do already.
The nice thing with our cluster solution is that its extremely simple to use, so it doesnt put a big burden on the user. It fits perfectly into the MySQL philosophy to add new things but to keep them simple.
Why is high availability so important to enterprises now?
If you want to have a solution for the enterprise, a key factor is high availability. We have a lot of users who are demanding this, and we want to continue keeping them happy. Other things we are working on for high availability in MySQL [include] extending replication and improving online backups.
Whos going to benefit from using clustering?
Any organization or individual can benefit from our clustering. It can be used with inexpensive hardware, and its trivial to set up and use. What is unique with our cluster solution is that it can be used both as a fast, in-memory table backed up on disk [on the master machine] or as a fast, global storage to give ultimate speed and high availability. Its a very flexible solution.
MySQL Moves to Leading
Edge”> Open source has been more about perfection of known technology than innovation. Like IDCs Carl Olofson said to me, its not that shared-nothing clustering is brand-new and nobody knows how to do it, but its more leading-edge than your basic, garden-variety database technology.
Why has MySQL taken on this type of [for an open-source company] atypical technology, and can we expect more leading-edge technology to appear in MySQL going forward?
Clustering is not significantly more complex than other solutions provided by open source. An operating system is not a simple piece of software, and the same goes for a database, Web server and the other numerous applications you can find in the open-source space. The general thinking has been that clustering is uniquely complicated—and therefore expensive. MySQL Cluster shows that this is not the case. You can do clustering in a simple, efficient manner that anyone can understand and use.
MySQL historically has been used in Apache-driven server farms for providing online access to data. Thats good scalability for read-only access, but for full database scalability, you need clustering of some kind. With that in mind, what kind of new ventures, usage, industry sectors, etc. will clustering set MySQL up for?
MySQL was originally created to solve problems both in the data-warehousing space and for the Web, but it has never been limited to those areas. Our user base has implemented MySQL to solve every thinkable database need, but I can agree that the Web usage has probably been one of the most visible areas.
MySQL has always been used by leading-edge companies [Sabre Inc., Hoovers Inc.] that have wanted to access their data in the fastest possible manner. And because clustering maximizes high availability and high speed, this is something they have been asking for [for] a long time. Clustering will help MySQL be even more widely adopted in critical markets like banking and telecom, where there are extreme demands from the database server.
Competing with Big Players
Will clustering make MySQL more competitive with companies such as IBM, Oracle Corp. and Microsoft Corp.?
We dont compete directly with them. Were in the commodity database market, where the needs are much simpler. In many big companies, we co-exist with Oracle or IBM. If an organization really needs all the features of Oracle, they should buy Oracle. But if they dont … I believe that a company should use the best tool for the job.
By adding clustering, MySQL will be a better tool for a lot of new applications, solutions. A big enterprise company will always need a big stack of tools for the different work that needs to be done. We certainly see that MySQL will be part of an enterprise toolset, but we dont think it will be a general replacement for proprietary database offerings for every customer. Most of our customers are using a wide range of databases to solve different kind of problems, and I dont think that MySQL Cluster will change that.
What tools is MySQL coming out with to work with MySQL clusters?
MySQL Administrator, that we just released, is a new graphical tool that includes support for maintaining clustering, and we are actively working on extending that capability. We are also working with a number of third-party companies to get even more tools.
At the conference this week, you could see MySQL working with products from Veritas [Software Corp.], from Quest Software [Inc.], from [Silicon Graphics Inc.] and others. We also announced a new partner program to make it even easier for companies to work with and support MySQL.
Whats the features roadmap looking like? Youve got stored procedures, and youve said that you foresee triggers appearing in MySQL 5.1. Is that still on track? What else?
We are still on track on the roadmap, except that some features may be available earlier than we previously had anticipated. In the upcoming 4.1 release, we have subqueries, prepared statements, cluster and a myriad of smaller features that make users lives easier.
The big three features coming up after that are stored procedures, triggers and views. Stored procedures are in alpha now with MySQL 5.0. Views are in a prerelease form; weve shipped them to some customers on request. Triggers are a little further out, but I think all of them will be available by end of year.
What is sure is that 5.0 will have stored procedures—its already available for download from our public source repository. Views, cursors and triggers are scheduled for Version 5.1, which should be released as source/alpha during Q4.
MySQLs product release schedule historically has been pretty long. Youve said youre looking to cut release schedules to six months. Whats motivating that?
We have always believed in pushing out new technology fast. In fact, all our development code is available for download from our public source trees as soon as its written. We strive to release binary development releases once a month.
Because not everyone is comfortable using our alpha/beta releases, which are actually used in production by many companies, we are cutting release cycles for production releases to six months to ensure that all users can feel confident using MySQL in production in environments.
Its a balancing act. There are some features customers are eager to get, like subqueries in MySQL 4.1. Thats very important. And of course, stored procedures. But we want to make sure that MySQL stays rock-solid. We have customers like NASA who have had the database running without interruption for more than two years! We want to make sure we maintain very high quality.
Evolving Database Market
Youve also said the database market had already begun to change, in reference to more embedded databases appearing in applications. Could you expound on that and maybe give us an update on where you see the database market as being right now, as well as where you see it going?
I think there is a sea change in the database market. Were serving a market that was really not being served previously. Theres a portion of the market that is commoditized, and thats what were focused on serving—bringing databases to the masses.
The database market has changed dramatically over the past 10 years, and it continues to change. The days are over when most companies created their own, homegrown database solutions. Now, they are instead regarding databases as a commodity and buying, using them as such.
Databases are also moving to new areas where they were not used before—home entertainment systems, PDAs, consumer devices, etc. The database market is also changing because databases are becoming less expensive and easier to use, which also helps to enlarge the user base.
Have you come to any decisions about whats going into 6.0?
We try to do development one step at a time and then watch the reaction from our users to know what is the best next step. One of the targets on the roadmap is complete ANSI SQL 2003 compliancy, but the needs of our users have the highest priority.
Youve mentioned that one technology challenge for MySQL was putting an embeddable MySQL server into a handheld. Where are you at with that, and why is that on your priority list?
One of the goals I have for MySQL is that it should be everywhere—geographically, in all kinds of devices and with all kinds of applications. This means that we must have a flexible design, and it should be easy to configure a MySQL server to work in a lot of different environments. The handheld is just one such environment.
The challenge with a handheld is that the database should not take up a lot of memory, and it should be trivial to move data into and out from the handheld. Its a technical challenge to do this in a portable, efficient and easy-to-use way.
I bought a little video/MP3 player that I took with me on the plane from Finland to Orlando, and even if its a very nice toy, I was missing an embedded relational database in it, as the device would then be so much easier to use—and thus more useful for me.
What new technical challenges do you foresee?
We integrated clustering into MySQL and added 10 more core developers to work on the server/cluster. The major challenge has been to integrate these people in the team and to ensure that the new code they produce never affects the stability of MySQL.