いろいろ備忘録日記

主に .NET とか Go とか Flutter とか Python絡みのメモを公開しています。

PostgreSQL 18で非同期I/Oが採用される

関連記事

GitHub - devlights/blog-summary: ブログ「いろいろ備忘録日記」のまとめ

概要

以下、自分用のメモです。忘れないうちにメモメモ。。。

PublicKeyさんにて以下の記事がポストされてました。

www.publickey1.jp

PostgreSQL 18にて非同期I/Oが採用されることになりそうですね。読み込み速度が上がることが期待出来そう。

Linuxでは io_uring にも対応みたい。

自分の環境では、業務でデータベースを選定する際にPostgreSQLになることが最近はデフォルトみたいになってきているので、このようなバージョンアップすることによりパフォーマンス改善される機能追加はとても嬉しい。

参考情報にリンク貼っている本家のポストから一部抜粋。

PostgreSQL 18 introduces an asynchronous I/O (AIO) subsystem. This new subsystem allows to increase I/O throughput and to hide I/O latency. On Linux io_uring can be used for AIO, a worker based implementation is available on all platforms. This initial release supporting file system reads such as sequential scans, bitmap heap scans, and vacuums, with tests showing up to a 2-3x performance improvements.

PostgreSQL 18は非同期I/O(AIO)サブシステムを導入しました。この新しいサブシステムはI/Oスループットを向上させ、I/O待ち時間を隠すことができます。Linuxではio_uringをAIOに使用することができ、ワーカベースの実装は全てのプラットフォームで使用可能です。この初期リリースでは、シーケンシャルスキャン、ビットマップヒープスキャン、バキュームなどのファイルシステム読み取りをサポートしており、テストでは最大2~3倍の性能向上が確認されている。

参考情報

www.postgresql.org


過去の記事については、以下のページからご参照下さい。

サンプルコードは、以下の場所で公開しています。