IT用語帳
PD-Dデータベース · トランザクション処理

同時実行制御(排他制御)

Concurrency Control

どうじじっこうせいぎょ

複数のトランザクションが同じデータに同時にアクセスしても、1つずつ順に実行した場合と同じ結果になる(直列化可能性)ように制御すること。制御しないと、変更の消失(ロストアップデート)、ダーティリード、ノンリピータブルリードなどの不整合が起きる。実現方式には、ロック方式、時刻印(タイムスタンプ)方式、楽観的方式、多版同時実行制御(MVCC)がある。

共有:

Related

他の資格での定義

IP排他制御

複数のプロセスやトランザクションが共有資源に同時アクセスする際に、データの整合性を保つための制御機構。セマフォ、ミューテックスなどのOS同期機構や、ロック方式(共有ロック・専有ロック)、MVCC等のデータベース制御手法がある。デッドロックの防止も重要な課題。

SG排他制御

複数のトランザクションが同時に同じデータにアクセスする際、データの不整合を防ぐための制御。ロック方式が代表的で、あるトランザクションがデータを使用中は他のトランザクションのアクセスを制限する。

FE排他制御

複数のトランザクションが同時にデータを更新する際に、データの矛盾を防ぐための制御機構。ロック方式が代表的で、データ更新中は他のトランザクションからのアクセスを制限する。

AP排他制御

複数のプロセスやトランザクションが共有資源に同時アクセスする際に、データの整合性を保つための制御機構。セマフォ、ミューテックスなどのOS同期機構や、ロック方式(共有ロック・専有ロック)、MVCC等のデータベース制御手法がある。デッドロックの防止も重要な課題。

SA排他制御

複数のプロセスやトランザクションが共有資源に同時にアクセスする際、データの不整合を防ぐための制御機構。楽観的ロックと悲観的ロックの2種類があり、デッドロックの回避も考慮する必要がある。

DB同時実行制御(排他制御)

複数のトランザクションが同時にデータベースにアクセスする際に、データの一貫性を保つための制御機構。ロック方式、タイムスタンプ方式、楽観的制御方式などがある。

ES排他制御

共有資源に複数のタスクが同時にアクセスしないよう、一度に1つのタスクだけに使用を許す制御。セマフォやミューテックスで実現する。優先度逆転やデッドロックを招かないよう、獲得順序と優先度継承の設計が要る。

PD-S排他制御

複数のプロセスやトランザクションが共有資源に同時アクセスする際に、データの整合性を保つための制御機構。セマフォ、ミューテックスなどのOS同期機構や、ロック方式(共有ロック・専有ロック)、MVCC等のデータベース制御手法がある。デッドロックの防止も重要な課題。

A-1同時実行制御(排他制御)

複数のトランザクションが同じデータに同時にアクセスしても、データの整合性が保たれるように実行を制御すること。ロック方式のほか、時刻印方式や多版同時実行制御(MVCC)などの方式があり、結果が何らかの順序で1つずつ実行した場合と同じになること(直列可能性)を目指す。

Past Exams

過去問での出題

過去問で 26 回出題(ITパスポート試験 6・基本情報技術者試験 5・エンベデッドシステムスペシャリスト試験 5・データベーススペシャリスト試験 3・情報セキュリティマネジメント試験 2・ITサービスマネージャ試験 2・応用情報技術者試験 1・ITストラテジスト試験 1・情報処理安全確保支援士試験 1)。うち 2 回は用語そのものを問う問題です。

残り 16 件を表示

出典: 独立行政法人情報処理推進機構(IPA)の過去問題。問題文は IPA のサイトの PDF で確認できます。「用語を問う問題」は、この用語の説明や特徴そのものを問う問題です。「選択肢」は、問題文ではなく選択肢に出たものです。用語名で照合しているため、関係の薄い問題が含まれることがあります。

Related

関連キーワードの用語

PD-S2相ロッキングプロトコル

各トランザクションが、ロックを獲得するだけのロック拡張相と、解放するだけのロック縮小相の2つに分けてロックを扱う規約。一度ロックを解放したら、新たなロックは獲得しない。すべてのトランザクションが従えば直列化可能性が保証されるがデッドロックは防げず、ロックをコミットまで保持する厳格な2相ロッキングにすると、未確定のデータを読んだことによる連鎖的なロールバックも防げる。

PD-Dセマフォ方式

共有資源へのアクセスを、セマフォと呼ぶ整数の変数とP操作・V操作によって制御する排他制御の方式で、E.W.ダイクストラが考案した。P操作でセマフォの値を減らし、値が負になれば待ち状態に入り、V操作で値を増やして待っているプロセスを起こす。値が0と1だけの2値セマフォは相互排除に、計数セマフォは台数に限りのある資源の割当てに使う。

PD-Dデッドロック

複数のトランザクション(プロセス)が、互いに相手が確保している資源の解放を待ち続け、どれも処理を進められなくなる状態。DBMSは待ちグラフに閉路ができたことでこれを検出し、いずれかのトランザクションをロールバックして解消する。予防策には、資源を確保する順序をそろえる、Wait-Die方式やWound-Wait方式のように時刻印で待つか中止するかを決めるといった方法がある。

PD-Dライトスキュー

スナップショット分離のもとで、2つのトランザクションが重なるデータを読み、その結果に基づいてそれぞれ別の行を更新してコミットした結果、両者を合わせると業務上の制約が破られる異状で、書込みスキューともいう。例えば「当直医が最低1人いる」ことを双方が確認してから別々の医師を外すと、当直が0人になる。同じ行への書込みの競合ではないので検出されず、SERIALIZABLEの隔離性水準か、読んだ行へのロック(SELECT ... FOR UPDATE)で防ぐ。

FE専有ロック

データの更新時に使用するロック。ロック中は他のトランザクションからの読取りも書込みも禁止される。書込みロックとも呼ばれ、データの一貫性を確保する。

FE共有ロック

データの読取り時に使用するロック。ロック中は他のトランザクションからの読取りは許可されるが、書込みは禁止される。読取りロックとも呼ばれる。