用語集
排他制御はいたせいぎょ
複数トランザクションが同時にデータを操作するときの干渉を防ぐ制御。
ITパスポート
排他制御は、複数のトランザクションが同時に同じデータを操作するとき、互いの干渉を防いで矛盾を起こさないようにする仕組みです。ACID の独立性を支えます。
| 手段 | 仕組み |
|---|---|
| ロック | データに錠をかけ、他者の操作を待たせる |
| MVCC | データの複数版を持ち、読み書きの衝突を避ける |
たとえば 2 人が同じ商品の在庫数(残り 1 個)を同時に「-1」しようとすると、制御がなければ両方が買えてしまう(在庫が -1 になる)矛盾が起こります。排他制御では片方の処理が終わるまでもう片方を待たせ、正しく 1 件だけ処理します。
試験では 「排他制御=同時アクセス時の干渉を防ぐ」目的と、代表手段がロックである点が問われます。待ち合いが起こるとデッドロックの危険がある点も押さえましょう。