PostgreSQL LISTEN/NOTIFYの性能ボトルネック:数百万時間の会議データ処理からの教訓

Recall.aiは毎月数百万時間分の会議データを処理しています。PostgreSQLデータベースは、高並行書き込みによってダウンタイムが発生しました。調査の結果、LISTEN/NOTIFY機能がトランザクションのコミットフェーズでグローバルなデータベースロックを取得し、すべてのコミットが直列化され、ボトルネックになっていることが判明しました。このロジックをアプリケーション層に移行することで、問題は解決しました。
続きを読む