MySQL Opens Storage Engine API to the Community

MySQL encourages third-party storage engine development amid debuts of new storage offerings from the likes of Solid Information Technology at its 2006 Users Conference.

Any lingering doubts about MySQLs ability to cook up its own darn storage engines in the wake of Oracles having bought two out from under it are now deader than doorknobs.

To wit: MySQL opened its Users Conference in Santa Clara, Calif., on April 24 with a veritable gusher of storage engine goodness.

First off, MySQL announced that it is opening up its pluggable database storage engine API and encouraging third-party companies and the open-source community to develop engines for its open-source database.

Solid Information Technology was the first database company to jump on the invitation, throwing its OLTP (online transaction processing) storage engine out for download and community testing on April 24.

Solid adapted its OLTP storage engine to work with MySQL Server and has made a prototype of the engine, called SolidDB Storage Engine for MySQL, available under the GNU GPL (General Public License).

The source code will be available as a beta release in July. It will be generally available in the fourth quarter of this year.

"Adoption of open-source [databases] is on the rise. Solid is uniquely poised to promote that adoption to the next level by providing MySQL users with a product that is based on proven technology that weve been providing to mission-critical environments for 14 years," said Alain Couder, president and CEO of Solid, in a statement.

"This open-source addition to our existing product line allows us to bring our core technology to a broader market while continuing our commitment to our existing customers in our traditional markets," Couder said.

MySQL is expecting several additional database vendors and community projects to announce supporting storage engines at the conference. Its also unveiling its own, internal, advanced transactional database engine, code-named Falcon.

Falcon is based on technology created by Jim Starkey, the renowned database architect who came on board when MySQL acquired his company, Netfrastructure, in February.

Falcon was designed for modern enterprise and Web 2.0 applications. It will be available under the GPL license and will enter public beta testing this summer.

Robin Schumacher, director of product management for MySQL, said that with the introduction of MySQL 5.1—now in beta and being showcased at the conference—the company is giving users an easy, clap-on, clap-off approach to swapping storage engines.

"From 5.1 on, were going to give folks two little commands: load and unload," Schumacher said. "You can load them dynamically without having to recompile. There will be no nasty compilation issues. It will be much easier for folks to introduce new storage engines."

As for Falcon, Schumacher said that as a database administrator himself, what he likes is the storage engines multiversion concurrency control. "What I like, as a DBA, is that readers never block writers," he said. The engines handling of database snapshots in write situations means that read/write contention issues are "pretty much down to zero," he said.

"Netfrastructure customers say, Weve never once had a contention in the databases. Which is pretty nice," Schumacher said.

Schumacher said that Falcon is only the "first engine out of the shoot" as far as MySQLs internally developed storage engines go, and that there are a variety of engines in the works within the open-source community.

"The popularity [of MySQL] just breeds new enhancements," he said. "New transactional engines, new OLAP [online analytical processing] engines, new multidimensional engines."

As far as the beta of MySQL 5.1 goes, Schumacher said one of the features users have been clamoring for most is partitioning. And not vanilla partitioning; whereas a database such as Microsofts SQL Server just has range partitioning, Schumacher said, MySQL 5.1 has all five major forms of partitioning, and then some: range, hash, key, list, composite and also subpartitioning, which is partitions within partitions.

Thats all good news for data warehouses, where partitioning is important, Schumacher said.

MySQL is also previewing new enhancements to its MySQL Network at the conference. The service will help DBAs monitor, administer and manage MySQL servers. Schumacher predicated the adds will be a "big hit" with customers whove complained that MySQL is a "black box."

"They didnt understand when it was performing well, when it wasnt, etc.," he said.

The new service monitors MySQL server farms around-the-clock, flagging issues and telling users what to do about them. The subscription-based service is in alpha stage now with a few customers and will be in beta soon, Schumacher said.

It will be a boon for customers with hordes of MySQL servers to manage, Schumacher said. Such customers include, for example, CNet, Netflix and Fox Communications.

"Because MySQL is so easy to use and [has] scale-out architecture, sometimes DBAs manage 40 to 50 servers," Schumacher said. "They just dont have the time to manually peek into each server to see how well its running."

MySQL is also previewing its new MySQL Workbench graphical ERD database design tool at the conference. Workbench is the next generation of the open-source community project called DBDesigner, which has thousands of users. MySQL hired "all the guys who worked for them," Schumacher said.


Check out eWEEK.coms for the latest database news, reviews and analysis.