Sunday, April 30, 2006

The Future of Mysql

By Justin Silverton

In a recent article from zdnet:

"Oracle played a big card when it bought InnoDB, the most popular way to inject data into the open source mySQL database.

Monday mySQL responds by getting Solidâ„¢ Information Technology, a proprietary database vendor, to take its solidDB Storage Engine for MySQL open source, under the GPL, starting in June.

Solid has its base in telecommunications and transaction processing, which had been considered a completely different market from the small fry mySQL supplies. It has 3 million copies out at places like Alcatel, Cisco, EMC, HP, NEC, Nokia, and Nortel.

The addition of Solid technology to mySQL, the company said, puts mySQL into the enterprise league and makes it a direct threat to Oracle." (full article available here)

Where is mysql going from here? The purchase of the solidDB storage engine is a direct result of the Oracle buy out of the innoDB storage engine currently being used. Oracle attempted to buy out the mysql database back in February for an undisclosed amount, but were unsuccessful. They are now trying to rid themselves of their competiton by purchasing the developers and the technology behind it. It was only a matter of time before something like this was going to happen. As a company based on an open source product, its biggest asset is its developers. Large companies may not be able to take the company over, but they can purchase the developers behind its main technology. The Mysql corporation now has control over technology that sets them apart from their competition.

Is this better than Innodb? It does support transactions, but it does not support foreign keys (it will, however support them in the future). The following is a list of solidDB features:

* ACID transactions.
* Automatic roll forward recovery after failure.
* Uses optimistic (or pessimistic) multiversion concurrency control.
* Database and log files are binary compatible among different platforms.
* Fully multi-threaded using kernel threads. It uses multiple CPUs/cores if they are available.
* Supports all MySQL SQL data types
* Supports full MySQL syntax
* The MySQL-specific SHOW command can be used to retrieve information
about databases, database engines, tables, and indexes.
* Function names occupy a different name space than table or column names.
* No practical limit on number of tables or columns, or database size.
* The EXPLAIN command can be used to determine how the optimizer resolves
a query. (not yet supported in the prototype)
* Foreign keys and on-line backup will be supported in future product release. They are already supported by solidDB, but the interface between MySQL and solidDB is not yet available for these features.


  • MySQL did not acquire the SolidDB engine.
    It's one of the many third-party initiatives coming out of MySQL's long-term push of its pluggable storage engine architecture.
    Paul McCullagh in Germany independently developed the PBXT storage engine, also.
    And Thinking Networks (also German) is working on turning their MOLAP engine (optimized for starschemas) into a MySQL storage engine.
    This is all excellent, as there's no single best engine for everything. So specialized engines are a good idea, and applications can utilize multiple engines as appropriate for their diverse needs.

    MySQL did acquire Netfrastructure recently, part of which is a transactional engine which is currenly codenamed Falcon. Falcon was built by Jim Starkey, the guy who invented multiversioning, the BLOB type, wrote InterBase, and so on.
    Jim Starkey now works for MySQL.

    By Anonymous Arjen Lentz, at 11:03 AM  

  • Thanks for the correction.

    This is a step in the right direction for mysql. They need an advanced database engine that cannot be sold and restricted by a larger and more powerful competitor.

    By Blogger justin silverton, at 12:20 PM  

Post a Comment

Links to this post:

Create a Link

<< Home