スケーラブルデータベースサーバ HiRDB Version 8 UAP開発ガイド
HiRDBでは,データベースの整合性を保つように排他制御をしています。特に,HiRDB/パラレルサーバでは,基本的に各サーバ間で資源の共有をしないので,サーバごとに閉じた排他制御をしています。
HiRDBでは,排他資源という単位で排他を掛けて,不正にデータが参照されたり,更新されたりすることを防止しています。
排他資源には包含関係があるため,上位の資源で排他を掛けると,それより下位の資源には排他を掛ける必要がありません。排他資源とその包含関係を次の図に示します。
図3-7 排他資源とその包含関係
HiRDBシステムが自動的にする排他制御では,表ごとに最小排他資源単位を設定できます。設定できる排他資源は,行,又はページです。
また,インデクスに対してインデクスキー値で排他制御しないようにすることもできます。これをインデクスキー値無排他といいます。
ページ単位の排他と比較して排他資源の単位が小さいため,同時実行性が向上する反面,排他制御による処理時間やメモリ使用量が増加します。
最小排他資源単位を行にするには,CREATE TABLE,ALTER TABLE,又はLOCK文を使用します。詳細については,マニュアル「HiRDB Version 8 SQLリファレンス」を参照してください。
行単位の排他と比較して排他制御による処理時間やメモリ使用量が減少する反面,同時実行性が低下します。
最小排他資源単位をページにするには,CREATE TABLE,ALTER TABLE,又はLOCK文を使用します。詳細については,マニュアル「HiRDB Version 8 SQLリファレンス」を参照してください。
インデクスキー値には排他を掛けないで,表に対してだけ排他を掛けます。これによって,次のような問題を回避できます。
インデクスキー値無排他については,「3.4.6 インデクスキー値無排他」を参照してください。
(a)〜(c)はそれぞれ特徴が異なりますので,特徴を考慮した上で設定してください。
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.