Berkus says that PostgreSQL 8.2 will improve performance "around 20% overall" for high-end online transaction processing (OLTP) systems, and include "even larger gains in data warehousing efficiency."
The changes in this release include "faster in-memory and on-disk sorting, better multi-processor scaling, better planning of partitioned data queries, faster bulk loads, and vastly accelerated outer joins."
For this release, the focus is on bolstering existing features in PostgreSQL rather than being "buzzword-compliant" to attract new users. Berkus says that the PostgreSQL team spent a lot of time going over the existing features and seeing to it that things were fully implemented. "It's difficult to identify particular features that are standouts; it's more sort of across the board development where we touched almost every file in the codebase."
The Linux.com Audiocast is available as an MP3 or Ogg Vorbis file. Just click on your format of choice and play, or (in Firefox) right-click on the link and select "Save Link As" to download the file and play later.
However, Berkus mentions new support for Generalized Inverted Indexes, which he says are a "more scalable and programmable way of indexing semi-structured data." This will, eventually, allow full text indexes that are terabytes in size. Berkus says that he's not aware of any other database capable of this, except perhaps what's in use at Google.
PostgreSQL 8.2 also improves an existing feature that will make it easier for admins to quickly bring up spares of running databases. The warm standby feature will allow admins to create a failover copy of a database cluster using PostgreSQL's Point in Time recovery feature.
Berkus says that it was possible in previous releases to create warm standby databases, but in a "hackerish" way that required some difficult configuration on the part of the admin. In 8.2, he says it's now "non-hackerish," and should be easy for anyone following the documentation to implement.
Some of the new features are courtesy of Google's Summer of Code (SoC) program. Berkus says that the improved SQL:2003 support includes a SoC project to enable multi-column aggregates. This allows statistical functions and other operations to be performed against multiple columns in a database, not just a single column.
Roadmap for 8.3
The development cycle for 8.2 will continue after this beta release with several release candidates. The project will create a branch for PostgreSQL 8.3 off of the release candidates.
This time around, Berkus says that the team will aim for a shortened release cycle, probably about seven to eight months. The PostgreSQL cycle is usually closer to a year between releases.
The reason for the shortened cycle is twofold, Berkus says. First, the feature freeze is falling in the summer, when many PostgreSQL developers are on holiday, which is not an ideal situation. Second, a few major features didn't make it in to this release, so a faster release cycle will help ensure that those features see the light of day faster.
Why not wait for features? Berkus noted that the project lost about two and half months during the 7.4 release cycle waiting for Windows support for PostgreSQL. Even after holding up the release for that time, Windows support was still not ready, and ended up taking another nine months to get right.
In the meantime, the PostgreSQL team is looking to have users bang on the PostgreSQL 8.2 beta. The team is using automated testing on releases, but Berkus says they also need testing by users with complex databases and applications that may use unusual features to find cases that will elude automated testing.
Berkus says that the final release of PostgreSQL 8.2 should be around the first week of November, but "no promises."