PostgreSQLの開発スケジュール

次期バージョンのPostgreSQL 8.3はすでに4月にフリーズされており、「あとは細かなバグや、どのパッチを適用するか(あるいは外すか)といったことを決めるだけ」(Berkus氏)という。Berkus氏の周囲では「もう8.3の作業はほとんど終わっているので、みんな8.4の話しかしないんだよ(笑)」という状態だとか。ほぼスケジュール通りに8.3の開発を進めてこれたことについて、Berkus氏は「オープンソースソフトウェアの開発であっても、できるだけ当初のスケジュール通りに進行できるように努力すべきだ。8.3の開発を予定通り進められたことについては満足している。ただし8.4は若干遅れ気味かもしれない。進捗に関しては随時報告していきたいと思う」と語り、他のOSSコミュニティももっと開発スケジュールを気にすべき、とした。

気になる8.3の性能だが、Berkus氏は「8.3の登場で、PostgreSQLはほかのオープンソースDB、それから"とある商用DB"をも完全に凌駕するパフォーマンスを得ることになる」と自信を見せる。とくに「HOT(Heap Overflow Tuple) Updates」と呼ばれるインデックスの更新を減らす機能をサポートしたことで、パフォーマンスが50 - 200%向上するという。これはヒープ領域をメインとオーバーフロー関連の2つに分割し、通常のINSERTやDELETEはこれまで通りメインで行い、UPDATEを別の領域で行う仕組みで、とくにrowのサイズやインデックス値が変わらない更新の場合に威力を発揮するという。「今までのバージョンでは、テーブルに新しいrowがいくつも出現した場合、vacuumを頻繁に行わなければならなかったが、HOTの適用で大幅に改善されることになる。競合するようなUPDATEが多いときはとくに有効だ」(Berkus氏)

8.3の最大の特徴"HOT"でPostgreSQLはより速くなる!? 左はHOTを適用しない場合、右はHOTを適用した場合

もっともパフォーマンスに関しては問題点も残っている。Berkus氏はPostgreSQLとMySQLのマイクロベンチマーク結果を表示し、「(PostgreSQLのほうが)平均トランザクションの数値はすぐれているが、ばらつきが多すぎる。トランザクションに時間がかかりすぎたり、リターンが遅すぎるのは望ましくない。MySQLのパフォーマンスは全体的に安定しており、予想がしやすい」とし、今後、改善していく必要があるとした。

8.3におけるその他のパフォーマンス改善ポイント。日本語環境でも速くなるもよう

赤がMySQL、緑がPostgreSQLのマイクロベンチマーク。PostgreSQLのデータはたしかにばらつきが多い

開発ツールもいくつか同時にリリースされる。ENUMはMySQL→PostgreSQLのマイグレーションを行うツール

Skypeを使ったクラスタリングや、PL/Ploxyを使ったアプリケーションの実装など、8.3以降の構想についてもいくつか提示された。

これも8.3以降になるというDTraceのデモ

Berkus氏が考える近い将来におけるDBのシェア。「もうプロプライエタリDBの出番はないのでは」(Berkus氏)

PostgreSQL 8.3の正式リリースは10月の予定。8.4は現在のところ、2008年8 - 10月ごろに予定されている。