- 履歴一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- PostgreSQL へ行く。
- 1 (2024-07-11 (木) 21:18:22)
- データベース上の位置情報を効率的に検索する方法(PostgreSQL編)
- PostgreSQL Internals (1)
- ToroDB (JSON)
性能†
GPGPU†
- (JP) GPGPUがPostgreSQLを加速する
- PostgreSQLとMySQLで、僕がよく使うシステムコマンドのメモ
その他†
- PostgreSQLは20年間どのようにfsyncを間違って使っていたか - 聴講メモ -
fsyncへの2つの間違った期待
1: fsyncが失敗した場合、次のfsyncのタイミングで失敗したdirty pageは再度書き込まれる
実際には・・・最初のfsyncに失敗したらデータはpage cacheから削除される。なので、次のfsyncはリトライしない。 さらに、これは、ファイルシステムによって挙動は変わる。ext4は、dirty dataをpage cacheにcleanとして残すし、xfsは捨てる。
2: 複数のファイルディスクリプタがある場合(例えばマルチプロセスの時)、一つのプロセスでfsyncが失敗したら、他のプロセスでも同じようにエラーとなる
実際には・・最初のプロセスだけがエラーとなる。その際、ファイルはcloseされopenされる。さらに、これはkernel versionによって挙動は異なる。 BSDでも同じように発生するけど、FreeBSD、illumosでは起きない。