テクノロジ系:データベース
トランザクション管理(ACID・排他制御・デッドロック)
一言で言うと
一連の処理をひとまとまりとして、確実に処理する。
一連の処理をひとまとまりとして、確実に処理する。
たとえ話
銀行の振込。引き落としと入金は、両方成功するか、両方なかったことにする。
押さえること
- ACID: 原子性(全部やるか、全部やらないか)、一貫性(データの整合性を保つ)、独立性(同時処理が互いに影響しない)、耐久性(確定した結果は失われない)
- 排他制御: 複数の処理が同じデータを同時に更新しないよう、ロックをかける
- デッドロック: 互いに相手のロックの解除を待ち合って、どちらも進めなくなる状態
試験でのポイント
- 原子性=分割できない、一貫性=整合性を保つ
確認問題
互いに相手のロックの解除を待って、処理が進まなくなる状態は?
答えを見る
デッドロック