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

ロック方式

Locking

ろっくほうしき

同時実行制御(排他制御)の方式の一つで、トランザクションがデータにアクセスする前にロックを掛け、ほかのトランザクションの競合するアクセスを、ロックが解放されるまで待たせる方式。読取りに使う共有ロックと更新に使う専有ロックを使い分ける。互いのロックの解放を待ち合うデッドロックが起きることがある。

共有:

Related

他の資格での定義

APロック方式

同時実行制御(排他制御)の方式の一つで、トランザクションがデータにアクセスする前にロックを掛け、ほかのトランザクションの競合するアクセスを、ロックが解放されるまで待たせる方式。読取りに使う共有ロックと更新に使う専有ロックを使い分け、2相ロッキングプロトコルに従えば直列化可能性が保証される。待ち合いによるデッドロックは、検出して一方をロールバックするか、Wait-Die方式などで予防する。

PD-Dロック方式

トランザクションがデータにアクセスする前にロックを掛け、他のトランザクションが競合するアクセスをする場合はロックの解放まで待たせる同時実行制御の方式。読取り用の共有ロックと更新用の専有ロックを使い分け、2相ロッキングプロトコルに従えば直列化可能性が保証される。待ち合いによってデッドロックが起き得るので、検出や予防の仕組みを併用する。

PD-Sロック方式

同時実行制御の方式の一つで、トランザクションがデータにアクセスする前にロックを掛け、競合するアクセスをロックの解放まで待たせる方式。読取りに使う共有ロックと更新に使う専有ロックを使い分け、2相ロッキングプロトコルに従えば直列化可能性が保証される。待ち合いによってデッドロックが起き得るので、検出して一方をロールバックするか、Wait-Die方式などで予防する。

A-1ロック方式

同時実行制御の方式の一つで、トランザクションがデータにアクセスする前にロックをかけ、他のトランザクションのアクセスを制限する方式。読取り用の共有ロックと、更新用の専有ロックがあり、ロックをかける範囲(ロック粒度)が細かいほど同時実行性は高まるが管理の負荷は増える。デッドロックへの対処が必要になる。

Past Exams

過去問での出題

過去問で 7 回出題(データベーススペシャリスト試験 7)

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

基本情報技術者試験の過去問によく出る用語

Related

関連キーワードの用語

PD-D専有ロック

データを更新するときに掛けるロック。排他ロックともいう。専有ロックが掛かっているデータには、他のトランザクションは共有ロックも専有ロックも掛けられず、解放されるまで読取りも更新も待たされる。

PD-D共有ロック

データを読み取るときに掛けるロック。共有ロックが掛かっているデータには、他のトランザクションも共有ロックを掛けて同時に読めるが、更新のための専有ロックは解放されるまで掛けられない。読取りどうしは並行でき、読取りと更新は互いを待つことになる。

FEセマフォ方式

共有する資源の使用の可否を表す変数(セマフォ)を使って、複数の処理の排他制御や同期をとる方式。資源を使う前にセマフォの値を減らすP操作を行い、値が0なら空くまで待つ。使い終わったら値を増やすV操作を行い、待っている処理を再開させる。

APロック粒度

ロックを掛ける対象となるデータの単位。データベース全体、表、ページ、行などがある。粒度を細かくするほど同時に実行できるトランザクションは増えるが、管理するロックの数が増えて負荷が大きくなる。粗くすると管理は楽になるが、待ちが増えて同時実行性が下がる。

APWait-Die方式

トランザクションの開始時刻印(タイムスタンプ)を使ってデッドロックを予防する方式。ロックを要求したトランザクションが、ロックを持つトランザクションより古ければ待ち(Wait)、新しければ自らロールバックし(Die)、同じ時刻印のまま後で再実行する。古いものだけが新しいものを待つので、待ちの閉路ができない。

APWound-Wait方式

トランザクションの開始時刻印(タイムスタンプ)を使ってデッドロックを予防する方式。ロックを要求したトランザクションが、ロックを持つトランザクションより古ければ相手をロールバックさせてロックを得て(Wound)、新しければ待つ(Wait)。Wait-Die方式とは逆に新しいものだけが古いものを待つので待ちの閉路ができず、古いトランザクションは待たされない。