背景 トランザクションの分離レベルで出てくる用語がぱっと頭に浮かぶよう、問題が発生するケースと対応方法をまとめます。 起きうる問題 基本的にどのDBも単一オブジェクトの原子性と分離性は保証します。 つまりデータ送信の途中でネットワーク接続が切れたら断片のみ保存するのではなく、全て破棄します。 また同時に更新処理があったとしてもデータを混ぜて保存するといったことはありません。 ({id: 1, name: alice},{id: 1, name: bob}があったとして{id: 1, name: aliob}にはならない) 分離性で問題になるケースは主に複数のオブジェクトを並行で同時に操作する際に起きます。 ダーティリード あるクライアントが他のクライアントのコミット前の書き込みを読み込むことです。 この例ではBobは新規メールがあるにも関わらず、未読件数は0のままです。 対応策 Read