次期PostgreSQL 18では非同期I/Oの採用により性能が2~3倍向上する見通し
PostgreSQL開発チームは先月(2025年5月)にリリースした「PostgreSQL 18 Beta 1」で非同期I/O処理を実装したことを明らかにしています。
同チームのテストによると、シーケンシャルスキャンやビットマップヒープスキャン、バキュームといった処理において2~3倍の性能向上が見られたとのことです。
同期処理はシンプルだが待ち時間が発生する
これまでの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月に正式版の登場が期待されます。
あわせて読みたい
- 国内サーバ市場2018年第3四半期、シェア1位は富士通、2位NEC、3位HPE。x86サーバは2桁成長、メインフレームは2桁マイナス。IDC Japan
- AWS、追加料金なくAmazon RDS for PostgreSQLの性能を最大2倍に引き上げる「Amazon RDS Optimized Reads」のAmazon RDS for PostgreSQL対応を発表
- 2022年第2四半期のクラウドインフラ、シェア1位はAWS、2位はAzure、3位Google Cloud。上位3社の寡占がさらに高まる
- Javaの長期サポート(LTS)版、次回は2年後に登場の見通し。オラクルがLTSのサイクルを3年から2年に変更提案
生成AI開発ツールを用いる賞金総額約1億5000万円のハッカソン「World's Largest Hackathon」開催中
≪前の記事
すべてのコーディングエージェントに独立した開発用コンテナ環境を与えられる「Container Use」、Docker創業者がオープンソースで公開