What is it?
Over 40% of software developers interviewed by Evans Data Corporation in 2006 said they used it (though not necessarily as their main database platform). It's the favourite of Web 2.0 enterprises such as Google, YouTube, Facebook and Wikipedia, but with a strong presence too among telecos, whose requirement for 99.9-recurring uptime demonstrates that MySQL is far more than a free download for hobbyists, non-profits and businesses too small to afford a serious commercial database.
But such a small number of users, and modest applications in large organisations, still make up the bulk of MySQL licences. As CEO Marten Mickos says, "Other databases have many features that we don't. We are still a complement to them, although we of course do compete for individual projects where other databases are overkill or we have a more compelling licence."
According to Gartner, "MySQL will be enhanced and aided by other Sun products, such as HPC (Lustre), high-performance file systems (ZFS), Suncluster, Java, Xen virtualization (xVM), identity management and DTrace's diagnostics." This has already happened to PostgreSQL, which Sun began shipping in 2006.
As well as supporting the Lamp (Linux, Apache, MySQL/PostgreSQL, Perl/PHP/Python) stack, Sun offers its own, based on Solaris and Java. However, according to MySQL AB, around 40% of downloads are for Windows.
Where did it originate?
MySQL was first released in 1995. The Windows version followed in 1998.
What's it for?
MySQL uses different storage engines to manage data according to the application - data warehousing or transaction processing, for example. The most popular, InnoDB from InnoBase, was taken over by Oracle, who continue to supply it.
MySQL also offers "native" storage engines: MyISAM, the "default", has low overheads but does not support transactions and is generally replaced by InnoDB. The new transactional storage engine, Falcon, is in pre-production testing.
MySQL has APIs C and C++, Java, Perl and Python, and is particularly popular with PHP and Ruby users. The MyODBC interface supports ASP and ColdFusion, among others. MySQL AB says, "MySQL delivers less complicated solutions that complement existing corporate database such as Oracle, IBM DB2, and Microsoft SQL Server."
MySQL AB plays the field: it's a Microsoft Visual Studio Industry Partner, contributes to the Eclipse Data Tools Platform for Java, and works with Zend on the Eclipse PHP IDE project.
MySQL 5.1 introduced partitioning and shared-nothing clustering, with replication between clustered databases.
What makes it special?
Low licensing costs, and reduced cost of ownership.
How difficult is it to master?
Developers need to be familiar with SQL. There's a four-day MySQL for beginners course for both developers and DBAs
Where is it used?
MySQL is particularly strong in Telecoms, with BT, Cable&Wireless, Nokia and Virgin Mobile among its users. Media customers include the BBC, Reuters, AP and Bloomberg.
What systems does it run on?
Linux, most Unix - including Solaris, SunOS, Windows, Mac OSX and many legacy operating systems.
What's coming up?
MySQL 6.0 is in pre-production testing.
Rates of pay
£25,000 to £40,000 for developers with other Lamp skills. £30,000-plus for DBAs.
Take a course with MySQL AB, at normal industry rates (around £1,500), or teach yourself from the many free sites.
This was first published in February 2008