Fifty percent of enterprises are now using open source databases in a production environment, according to Forrester Research.This is a multi-digit jump from data available just a few years ago. And this isn't just one or two particular business verticals either; just about every sector of the economy is deploying open source databases in production now. Moreover, Forrester predicts that by 2014, 75% of all businesses will be using open source databases to power their key applications.
The two top open source databases are certainly not standing still and continue adding to the momentum of open source in the marketplace. Both Oracle's MySQL and PostgreSQL have made recent announcements that provide evidence as to why so many businesses are now using open source databases for their production systems.
Oracle's MySQL recently made public a release candidate of version 5.5, which has been in development for some time. For 5.5, Oracle is making the InnoDB storage engine the default for MySQL, which is a change in direction from using MyISAM as the default. MyISAM was one reason so many web companies began using MySQL; they wanted fast read and load times and got it with MyISAM, but they sacrificed transactional integrity and crash recovery capabilities in the process. MyISAM will still be an engine in MySQL (it has to; the metadata information for MySQL is stored in the MyISAM engine), but with InnoDB as the default, users won't have to make a conscious configuration change to start off with a transactional database engine.
Oracle showed off some good InnoDB performance numbers for the 5.5 RC at the recent OpenWorld show in San Francisco in September. Some of the gains were showcased the year prior, but more work has been done by the InnoDB team, which added additional performance boosts to 5.5. Of course, any business switching to an open source database wants to see good performance, so the increased speed in 5.5 will be welcomed by all.
Oracle also added some nice enhancements in MySQL replication. For some, the asynchronous nature of MySQL replication is a worry because there is potential for data loss between the master server and any slaves that are attached to it. In 5.5, the semi-synchronous enhancement ensures that an event has at least made it to the slave machine (however, it is not committed to the database; it is simply present on the slave for processing) before the transaction is committed on the master server. Such a feature should calm the fears of those wanting to use replication but are concerned over data synchronization problems and data loss.
There are other 5.5 features that Oracle has added to MySQL, including more data partitioning options, performance diagnostics, and error handling for stored procedures. All are things used every day by DBAs and developers involved with MySQL.
On the PostgreSQL front, version 9.0 was announced as GA in September. The PostgreSQL community has a reputation for consistently releasing new versions of the database with compelling features, and version 9.0 brings to the table some enhancements that will no doubt win new converts to PostgreSQL.
Whereas MySQL has been mainly a web database, PostgreSQL has been used more in enterprise environments where transactional workloads are the focus. These situations oftentimes require that PostgreSQL mimic the abilities of the big database vendors like Oracle, and a top requirement in many enterprise environments these days is high availability. That being true, some of the new features in 9.0 should allow IT professionals to make more use of PostgreSQL than they ever have before. The key new enhancement is built-in streaming replication, which is very easy to use and configure. PostgreSQL has been faulted for years for not having its own replication, and instead has had to rely on third-party community add-ons, which has not been the case with Oracle's MySQL. But now with version 9.0, this is a thing of the past.
Another big new feature in 9.0 is an Oracle Data Guard-style capability of a hot standby database. Many enterprises use a hot standby database architecture for their key systems to support high availability, and now PostgreSQL can be set up in just such a way. A separate PostgreSQL server is constantly fed updates by a production system and can serve as a failover database if the production RDBMS goes down. Also, the hot standby can service queries so rather than just be used as a backup system, it can serve as a reporting database or other type system to handle query activity.
There are quite a few other enhancements in PostgreSQL 9.0 that help it hold on to its reputation of being just about as feature complete as the big database vendors. Security additions, new SQL analytic support, performance increases, trigger enhancements, and some other items round out the new release.
With the upcoming (as of this writing) release of Oracle's MySQL 5.5, and the GA release PostgreSQL 9.0 now available, the momentum with open source database adoption is sure to increase just as Forrester predicts. Neither is sitting still and both continue to give strong business and technical reasons why modern businesses should move all or some of their database applications to open source.