With the impending release of version 9.0 of the open-source Postgres database, due in mid-August, the developers behind the project are hoping that the new features will attract more interest from enterprises.
"The features going into 9.0 [were created to] ease the burden for people coming from proprietary databases to Postgres," said Bruce Momjian, a core developer to the open-source project, as well as a senior database architect for EnterpriseDB, which offers a commercially supported version of the database.
"We're now focusing on ease of use, ease of administration, and providing the type of facilities that we think large organisations need," he said. A lot of what the developers are doing now is "putting the mainstream polish on the database, and not having it just be something for open source people," he said.
When it comes to general-use, open source relational databases, perhaps it is MySQL that most readily comes to mind, though the lesser-known PostgresSQL, more formally known as Postgres, has shown itself to be a credible choice as well.
EnterpriseDB has been marketing its version of the database as a lower-cost alternative to proprietary databases, such as Oracle's, as well as an alternative to MySQL, with the reasoning that Oracle now controls MySQL, and customers may want to diversify their database technologies.
"Postgres [usage] is continuing to grow really quickly. We're getting a lot of people who used to use Oracle, MySQL and [IBM] DB2, and that has accelerated in the past six months or so," Momjian said.
For instance, data warehouse vendor Netezza used EnterpriseDB's Postgres Plus Advanced Server to power its new offering, Netezza Migrator, which is software that provides an Oracle-based interface for making SQL queries into Netezza's TwinFin data warehouse appliance.
Version 9.0 will come with a number of new features that should appeal to enterprises, Momjian said in an interview with IDG News Service. Chief among them is internal replication.
With replication, the database is copied in a second location, in many cases on a different server located at some other location. Previous versions of Postgres offered what Momjian called "external replication," meaning a program outside the database itself copied the database transaction logs to the new location at pre-specified intervals. The transaction log is the record of all the changes made to a database.
This approach proved to be too slow and bulky. The new version of the software allows "streaming replication," meaning as soon as something is written to the original database, the database software also commits the data to the second database as well.
This approach means changes can be added to the second database more often, providing for a more up-to-date backup database. It also allows the second database to be queried against, which also wasn't possible in the previous setup, Momjian said.
Another major addition to the software is a tool that would make it easier for administrators to upgrade a Postgres database to a new version, called Pg_migrator. For past releases, especially with terabyte-sized databases, upgrading was "a painful process," Momjian admitted. The old process involved basically moving the entire contents of the database into a new file structure.
The new version allows the data to stay in place and only replaces the table layouts, a process that should take only a minute or so, even with terabyte-sized databases. "You can migrate a 400-gigabyte database in 40 seconds," Momjian said, pointing to a YouTube video he made demonstrating the process.
Beyond these major additions, "there's been a lot of overhaul" of Postgres in general, warranting the jump in major release numbering, from version 8 to version 9, Momjian said. Support for stored procedures has been expanded, allowing for new types of procedures to be executed. The Perl compiler has been overhauled, and the Python compiler can work with version 3 of that language.
A lot of these smaller features should also encourage enterprise use. For instance, permissions management, which specifies who gets to see which parts of the database, has been revamped.
Also, the software can now show administrators which applications are making which calls to the database, Momjian said. "When an application connects to the database, it can supply its name," and, in turn, this name is shown on the administrator console for looking at queries, he said.