Hitachi

ノンストップデータベース HiRDB Version 10 構造型データベース機能


2.9.1 排他制御の単位

SDBデータベースの排他制御の単位について説明します。

排他制御では,排他資源という単位で排他を掛けます。SDBデータベースでは,RDエリアやルートレコード型などが排他資源に該当します。

排他制御では排他資源の上位から下位へと順番に排他が掛けられます。また,排他資源には包含関係があります。

例えば,RDエリアとルートレコード型の関係では,RDエリアが上位,ルートレコード型が下位の排他資源となります。あるトランザクションが,上位の排他資源であるRDエリアに対して,排他資源を占有するモードで排他を掛けると,そのRDエリアに含まれる下位の排他資源(ルートレコード型,インデクス,ページ,サブページ)は,ほかのトランザクションで同時に使用できなくなります。排他制御のモードについては,「2.9.2 排他制御のモード」を参照してください。

SDBデータベースの排他資源とその包含関係を次の図に示します。

図2‒91 SDBデータベースの排他資源とその包含関係

[図データ]

上記の図に示した排他資源以外に,セグメントに対して排他制御を行う場合があります。例えば,SDBデータベースの削除を行う場合は,セグメント単位に排他制御を行います。

また,インデクスの一意性を保証するため,行に対して排他制御を行います。HiRDB/SDでの排他資源の行とは,レコード実現値のことです。

注※1

インナレプリカ機能使用時の最上位排他資源は,インナレプリカ構成管理情報,またはレプリカグループ構成管理情報となります。

インナレプリカ構成管理情報の排他を取得できない場合に,レプリカグループ構成管理情報の排他を取得します。レプリカRDエリアを定義していないRDエリアにアクセスする場合でも,排他が掛かります。これによって,業務実行中に通常RDエリアにレプリカRDエリアが定義されたり,インナレプリカグループ内の構成が変わったりすることを抑止します。

注※2

RDエリアは,ルートレコード型,インデクス,ページ,サブページの上位資源となります。

注※3

インナレプリカ機能を使用する場合,RDエリア,ルートレコード型,インデクス,ページ,サブページは,世代ごとの排他になります。

注※4

サブページ分割をする場合(SDBデータベース格納定義のSTORAGE RECORD句下にSUBPAGE NUMBER句を指定している場合),排他制御の単位はページではなく,サブページになります。

なお,サブページ分割をする場合は,「2.9.2 排他制御のモード」〜「2.9.10 コミットしていない削除データの排他制御」を読まれる際,レコードを格納するRDエリアのページ(データページ)をサブページに読み替えてください。