DB - kocya-dev/note GitHub Wiki
- データベース研修 パーソル
- 【データベース基礎】インデックスの仕組みを理解する(初学者向け)
- RDBアンチパターンと戦う - 削除フラグ 完全攻略ガイド / delete flag
- 連番IDを使うと会社が潰れる。(訳: 連番とUUIDのベンチマークを取ってみた❤️)
PostgreSQL
ORM
Prisma
しかし、Prismaの公式ドキュメントでは、このRDS Proxyをコネクションプールとして利用するときのメリットは無いと明言しています。
例えばPostgresqlに接続する際、Connection URLのconnection_limitパラメータで、コネクションプールのサイズを指定できます。
Lambda関数からPrismaを利用する場合は、このconnection_limitを1にすることが推奨されます。
Prismaは「ピン留め」を回避する手段が無いようです。(https://github.com/prisma/prisma/issues/5866)
TypeORM
- 実例から学ぶ!AWSを活用したシステム開発の勘所 #devio2022 TypeORMでピン留め発生の事例
このプロジェクトではTypeORMを利用していましたが、何も意識せずに普通にTypeORMを利用すると、Prepared StatementによってRDS Proxyのピン留めが引き起こされてしまいます。
sequelize
Therefore, the most appropriate configuration is to use pooling within the same invocation and avoid pooling across invocations (i.e. close all connections at the end):
結局lambda実行毎に接続/切断を行うことになる。