次期PostgreSQL 18では非同期I/Oの採用により性能が2~3倍向上する見通し

2025年6月9日

PostgreSQL開発チームは先月(2025年5月)にリリースした「PostgreSQL 18 Beta 1」で非同期I/O処理を実装したことを明らかにしましています

同チームのテストによると、シーケンシャルスキャンやビットマップヒープスキャン、バキュームといった処理において2~3倍の性能向上が見られたとのことです。

fig

同期処理はシンプルだが待ち時間が発生する

これまでのPostgreSQLは同期I/O処理を採用していました。これは例えばOSにファイルリードのようなI/O処理を依頼すると、処理が終了して結果が返ってくるまで、すべてのPostgreSQLの内部処理が一時停止することを意味します。

同期I/O処理の利点はすべてのI/O処理が同期的に行われるため、実装が比較的シンプルで容易だというメリットがあります。これはバグを引き起こしにくいとも言えます。

一方で、ひとつひとつのI/O処理が完了するまで待ち時間が発生するため、全体として処理速度が遅くなる、というデメリットが存在します。

Linuxでは非同期用システムコールにも対応

PostgreSQL 18 Beta 1では非同期I/Oサブシステムの実装により、複数のI/O処理の並列処理や、I/O処理が完了しなくとも別の処理を実行できるようにすることで、PostgreSQLが対応するすべてのプラットフォームでI/O処理のスループットやレイテンシを改善しています(現時点ではリード処理の改善のみのようです)。

さらにLinuxでは非同期I/O処理のためのシステムコールである「io_uring」にも対応していると説明されています。

これによりPostgreSQL 18 Beta 1でのテストで、シーケンシャルスキャンやビットマップヒープスキャン、バキュームといった処理において2~3倍の性能向上が見られたと報告されています。

他にも、複数カラムのBツリーインデックスを用いた複雑な条件検索やORやINを含むWhere節を持つクエリにおけるインデックス利用の改善、またジョインにおける実行計画の改善などによる性能向上も行われていると説明されています。

PostgreSQLは例年9月か10月にメジャーバージョンアップが行われているため、PostgreSQLも今年(2025年)9月か10月に正式版の登場が期待されます。

あわせて読みたい

PostgreSQL RDB データベース




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本