データベースにおいてデータの整合性を保つために重要なのが、次の2つです。
- トランザクション制御
- 排他制御
トランザクション制御とは
アプリケーションの動作のうち、「ある意味を持った一連の処理」のことをトランザクションといいます。
トランザクション制御とはこの一つのトランザクション内でデータの整合性が保たれるようにすることです。
例えば、処理A、処理B、処理Cの流れが一連のトランザクションだったとします。
正常ケースでは、処理A、処理B、処理Cの順に処理を行い、最後にCOMMIT(コミット)して処理を完了します。
異常ケースでは、処理A、処理Bの途中で何らかの障害が発生したため、処理をROLLBACK(ロールバック)します。その結果、処理Aを行う前の状態に戻るので、データの整合性が保たれます。
排他制御とは
排他制御とは、データベースに対して複数のアクセスが見込まれる場合に、同時アクセスにより不整合が発生することを防ぐため、あるトランザクションがデータベースにアクセスしている場合は他のトランザクションからはアクセスできないように制御することです。
コメント