下記ツイートを見て改めて考えてみました。 更新系APIでDBトランザクション張る時、対象のリソース群の親となるリソース(大抵はUser)を無条件で最初にロックする手法が当たり前だと思っていたけど、もしかして世間ではそうではないのかな...デッドロックリスクを忘れられる大きなメリットがあると考えていたんだけど。— やまでぃ🤗 | YOUTRUST (@aiueo4u) 2021年2月16日 並行に書き込みをどのように処理するかという点も含めて整理してみました。 並行性の問題一覧 名称 内容 ダーティリード あるクライアントが他のクライアントのまだコミットされていない書き込みを見ることができる。 read commited分離レベル以上では生じない。 ダーティライト あるクライアントが他のクライアントのまだコミットされていない書き込みを上書きできる。 ノンリピータブルリード トランザクション