編集部からのお知らせ
ダウンロード公開中「ITが取り組むべきプライバシー」
最新記事まとめ「医療IT」

排他制御

用語の解説

排他制御とは

(ハイタセイギョ)

 ファイルやデータベースに書き込み処理を行なう際に、データの整合性を保つために、データの読み書きを一時的に制限すること。

 例えば、商品の在庫を管理するデータベースに2人が同時に商品を購入しようとしてアクセスした場合、「顧客Aが残り在庫を確認」→「顧客Bが残り在庫を確認」→「顧客Aが残り在庫を-1する」→「顧客Bが残り在庫を-1する」という処理順序になることがある。

 顧客Bは顧客Aの処理が終わる前に残り在庫を確認してしまっているため、顧客Bは顧客Aが商品を購入する前の残り在庫を元に残り在庫を計算してしまう。 この結果、顧客Aが在庫を減らした効果が失われてしまい、2人が商品を購入したのに在庫は1しか減らなくなる。 すると、いざ商品を発送する段階になってなぜか在庫が1個足りないという問題が発生する。

 このような問題を防止するために行われる処理が排他制御である。 排他制御を行ないたい場合、データを更新する前にそのデータをロック(鍵をかける)して、他のユーザがデータを読み書きできなくする。

 そして、データを更新する際には他のユーザがデータをロックしていないか確認して、ロックされている場合はその処理が終わる(ロックが解除される)まで待ってから処理を始める、という段取りになる。

 このような手続きを踏むことで排他制御が実現できるが、複数のファイルにまたがる排他制御を行う場合、1人のユーザがファイルAをロックしてファイルBのロック解放を待ち、もう1人のユーザがファイルBをロックしてファイルAのロック解放を待ち、いつまでたっても処理が進まないという事態に陥る恐れがある。 この現象は「デッドロック」と呼ばれているもので、プログラムの設計に問題がある場合に発生する。

用語解説出典   powered by. IT用語辞典 e-Words

Special PR

CNET Japan

ホワイトペーパー

新着

ランキング

  1. クラウドコンピューティング

    AWS、Microsoft、Googleがリード!パブリッククラウドコンテナプラットフォーム市場分析

  2. ビジネスアプリケーション

    ウィズコロナ時代はあと2年は続く?!アフターデジタル時代の4つの重要ポイント

  3. セキュリティ

    2021年のサイバー脅威予測が明らかに─将来の攻撃に企業はいかに備えるべきか

  4. OS

    “テレワークだからこそ”デスクトップPCを利用すべき?!ノートPCにはない魅力の数々に迫る

  5. 運用管理

    7つの視点で解説するデータベース構築・運用ー誰でもわかるSQL Serverストレージガイド

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNet Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]