MySQL, PostgreSQL Release Milestones
This is a good week for open source databases.
MySQL 5.5 Release Candidate was announced at the MySQL Sunday event at Oracle OpenWorld.
Marketing-wise, Oracle obviously wants this release, as well as their special MySQL Sunday track, to show their commitment to MySQL. Oracle Chief Corporate Architect Edward Screven and VP of MySQL Development Tomas Ulin announced the new release, and they described a schedule for MySQL 5.5 GA by the end of calendar year 2010. Following through on this schedule will repair some of the PR damage from the year-long FUD and European Commission concerns about Oracle’s acquisition of Sun.
I was told the attendance of MySQL Sunday was on the order of 3000 people, many of whom comprise a previously untapped market of developers and DBA’a who use Oracle primarily, but also use MySQL in their environment, or are considering using MySQL (the “My-curious” market). As part of Oracle, MySQL has already gained access to a larger community than they did on their own or as part of Sun.
MySQL 5.5 is still not GA, but it’s pretty close and you can get binaries from their download page, under the Development Releases tab.
The technology in this release has some pretty impressive and welcome features:
- InnoDB is now the default storage engine, debunking some of MySQL haters’ main complaints.
- InnoDB has been given huge performance improvements when serving at high scale, i.e. hundreds of concurrent connections.
- New semi-synchronous replication, allows for greater throughput and integrity. Replication heartbeat helps slaves keep in touch with the master.
- Partitioning finally makes more sense, with new syntax for partitioning by range or list on date, datetime, char, and varchar columns.
- SIGNAL & RESIGNAL (supporting standard ANSI/ISO SQL syntax) allow you to abort an operation from a trigger. No more hacks like causing an error by assigning a string to an int variable in a trigger.
- SHA2() function allows for much stronger hashing, in compliance with NIST policy. This isn’t on the list of strongly-marketed new features, but it’s based on a patch that I submitted back in 2006, so I’m glad to see this finally see daylight. You have to build MySQL against an SSL library for this function to be available.
Meanwhile, PostgreSQL 9.0 GA was announced today I wrote in May about some of the features of this release, when they announced their 9.0 Beta. PostgreSQL is also a strong open-source RDBMS (its license is New BSD-ish, just like PHP’s license) and it’s nice to see them go from Beta to GA in less than six months. You can get their new release at their download page.