PostgreSQL 17正式リリース。WALの改善で書き込み性能が最大2倍に、本体付属のバックアップツールで増分バックアップ対応など新機能
今回は「PostgreSQL 17正式リリース。WALの改善で書き込み性能が最大2倍に、本体付属のバックアップツールで増分バックアップ対応など新機能」についてご紹介します。
関連ワード (今年、参考、標準等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
オープンソースのリレーショナルデータベース「PostgreSQL 17」正式版がリリースされました(日本語版のプレスリリース)。
PostgreSQLは今年(2024年)に発表されたStack Overflowの調査でMySQLを抜いて最も使われているデータベースとなっているなど、人気が高まっているデータベースです。
参考:Stack Overflowが世界6万人以上のITエンジニアにアンケート。最も使われている言語はJavaScript、データベースはPostgreSQLが1位に定着。Stack Overflow 2024 Developer Survey
WALの改善で書き込み性能が最大で2倍に
PostgreSQL 17では、先行書き込みログ(WAL)処理の改善が行われました。
WALとは、トランザクション処理が確実に行われるためにトランザクション処理に先立ってつねに記録されるログです。この処理を改善したことで、高並行処理のワークロードにおいて書き込みスループット性能が最大で2倍向上する可能性があるとしています。
また、vaccumプロセスの処理速度が向上し、使用メモリなどのリソースが減りました。最大でこれまでの20分の1のメモリ使用量で済むようになります。
vaccumプロセスとは、データベースの中でデータが削除や更新されて使われなくなった領域を実際に削除するための処理です。ハードディスクにおけるデフラグ処理のようなものといえます。
PostgreSQLの運用において適宜vaccumプロセスを実行することが、データベースを適切な状態に保つために必要となっており、vaccumプロセスの処理速度の向上や使用リソースの効率化は、PostgreSQLの処理速度全体に対して改善効果が期待できます。
論理レプリケーションやバックアップユーティリティの改善など
これまでのPostgreSQLではメジャーバージョンアップ時に論理レプリケーションスロットを一旦削除したうえでバージョンアップの作業を行い、その後再び論理レプリケーションを再度期する必要がありました。
PostgreSQL 17以降のアップグレードでは論理レプリケーションスロットを削除する必要がなくなり、論理レプリケーションを使用する際のアップグレードプロセスが簡素化されます。
また、PostgreSQLに含まれるバックアップユーティリティ「pg_basebackup」が増分バックアップをサポートし、本体に含まれるバックアップツールで、より効率的なバックアップが可能になりました。
そのほか、 B-Treeインデックスを使用するIN句を含むクエリのパフォーマンス向上、JSONデータを標準のPostgreSQLテーブルに変換できるようになる新機能などを含む多くの新機能が搭載されました。
詳しい新機能の内容は「PostgreSQL 17 Press Kit」をご覧ください。