In association with heise online

GUIs

MySQL Workbench allows users to design new databases visually.
MySQL Workbench allows users to design new databases visually.
There are a number of administration tools with graphical user interfaces for MySQL. Older program such as MySQL Query Browser and MySQL Administrator have been supplemented by newer GUIs such as MySQL Workbench, which allows database schemas to be designed visually. The program is currently only available for Windows, but a Linux version is in the alpha testing phase.

The Java-based, and thus platform-independent, MySQL Migration Toolkit is useful for migrating databases from other database systems to MySQL. This works well for the actual tables and their content. It is not, however, possible to import stored procedures and triggers, as almost all database systems use a different syntax for SPs. It is also annoying that SQL Server Authentication is required in order to establish a connection with Microsoft SQL Server. Windows "alias integrated security" authentication is not supported.

The MySQL Migration Toolkit allows databases to be imported from other database systems.
The MySQL Migration Toolkit allows databases to be imported from other database systems.
The administration tools listed have been created by the MySQL development team and, like MySQL, are available free of charge. For enterprise customers, MySQL Workbench offers a number of additional functions. Enterprise users can also utilise the new Enterprise Monitor for monitoring the status of one or more MySQL servers and searching for optimisation options.

First and second class users

MySQL makes its database available under a dual licensing model. As well as the GPL version, there is also a paid-for version for commercial applications which does not compel users to conform to the GPL, and in particular, does not require them to disclose additional development. In autumn 2006, MySQL went one step further – now, compiled installation packages for the GPL-licensed community version are only released every six months. Subscribers to the paid-for enterprise version, in addition to support and the Enterprise Monitor, also receive monthly updates. The community version of MySQL 5.0 often lags some way behind the enterprise edition.

This is completely in accord with the rules of the GPL – the latest source code is available on a daily basis from the MySQL Bazaar, and commercial customers are not prevented from passing-on the current enterprise version.

Nevertheless, many open source users have been irritated by this strategy. Community edition users who contribute to MySQL development with bug reports, patches, etc. reap the fruits of their labour later than enterprise customers. The long wait for the next community edition is also unsatisfactory from the point of view of security-related updates.

The situation is not ideal even for paying customers, as the enterprise version is used and tested by a significantly smaller group of users, with the result that it can take longer for bugs to be uncovered and fixed. Other suppliers who offer both a free community version and a paid-for enterprise version, such as Red Hat, tend to follow the converse strategy – the latest Fedora distribution is available for free, but Red Hat Enterprise Linux offers stability and long release intervals.

Nonetheless, following the $1Bn takeover by Sun in January 2008, MySQL appears to have backed away from the idea of offering specific MySQL features to enterprise customers only. The entire MySQL Server code is still subject without restrictions to the GPL. This does not, however, apply to additional external software such as Enterprise Monitor.

So what's next?

In April 2007, long before completion of MySQL 5.1, MySQL released the first public test version of MySQL 6 – albeit with no release schedule. The two most important new features in MySQL 6 are the transactional table types "Falcon" and "Maria". Falcon is optimised for use on computers with lots of RAM and a large number of CPUs. However the main Falcon developer, Jim Starkey, retired from MySQL in June 2008 after two and a half years with the company. Maria, in turn, is optimised for large databases and is intended eventually to replace the MyISAM table type.

Falcon and Maria are MySQL's (belated) response to Oracle's acquisition of Innobase. Innobase's InnoDB database engine is preferred by many MySQL users due to its transaction support and greater speed. Although InnoDB continues to be developed in conformity with the GPL and only the Hot Backup program is paid-for, the dependency on Oracle raises doubts about the long-term future of the InnoDB table type. When and whether the two new table types will be able to match InnoDB for performance remains to be seen.

A little disappointing is the fact that a number of long-term deficits of MySQL have not been addressed in version 6. These include debugging functions for stored procedures, foreign key rules (which are currently only implemented specifically for InnoDB) and hot backups (backups during ongoing operation), which are currently only available as a paid-for InnoDB add on.

A talk by MySQL co-founder Michael 'Monty' Widenius gives a list of internal deficits in MySQL Server – poor scaling to eight CPUs/cores, non-optimal RAM usage, no external user authentication (such as via LDAP), inefficient internal SQL parser, poor community involvement, unclear release policies, etc. The talk is disarmingly honest, but makes it clear just how much work MySQL still has to do. This suggests that we may be in for a long wait before MySQL 6.0 finally hits the streets.

Until then, the biggest breath of fresh air in the MySQL world is Project Drizzle. This is a minimal MySQL fork based on version 6.0. Many of the extensions added over the last few years, including views, stored procedures and various exotic table types, have been removed from the code. The Windows version has also fallen victim to this zest for tying up loose ends. The goal is a kind of MySQL Lite – GPL only, no commercial version – with clean, tidy code. As well as MySQL fans, MySQL staff are also – with Sun's blessing – involved with Drizzle.

Summary

Typical LAMP developers dealing with small to medium-sized websites will see little benefit from the upgrade to version 5.1. It begs the question of whether the once-lean database system isn't already overloaded with overhead and whether SQLite (or someday Drizzle) mightn't do the job.

For larger commercial customers, the verdict is likely to be far more positive. The new features in MySQL 5.1 are likely to be of more interest to this group and promise greater efficiency – especially for larger databases. MySQL still offers fewer function than Oracle, SQL Server and the like, but scores points for greater speed and offers unbeatable value.

It remains to be seen whether the strict separation between the community and enterprise version is of long-term benefit. It has certainly deterred many open source fans from working on the project.

(lghp)

Print Version | Permalink: http://h-online.com/-746500
  • Twitter
  • Facebook
  • submit to slashdot
  • StumbleUpon
  • submit to reddit
 


  • July's Community Calendar





The H Open

The H Security

The H Developer

The H Internet Toolkit