データベーススペシャリスト試験攻略のツボ(4)

「分散データベース」に関する問題


西沢直木
2008/8/14

本連載では、テクニカルエンジニア(データベース)試験に対応できる知識を確認していきます。多岐にわたる知識が問われる試験ですので、受験する方はもちろん、そうでない方も技術知識の確認に役立ててください。



問4-3 トランザクションのコミット制御

 分散データベースのトランザクションは複数のサブトランザクションに分割され、複数のサイトで実行される。このとき、トランザクションのコミット制御に関する記述のうち、適切なものはどれか。

 
2相コミットでは、すべてのサブトランザクションからコミット了承応答が届いても、必ずしもすべてのサブトランザクションをコミットするとは限らない


2相コミットを用いても、サブトランザクションが実行されるサイトに主サイトの指示が届かず、サブトランザクションをコミットすべきかロールバックすべきか分からない場合がある

 
2相コミットを用いると、サブトランザクションがロールバックされてもトランザクションがコミットされる場合がある

 
集中型データベースのコミット制御である1相コミットで、個々のサイトが独自に分散データベースのコミットを行っても、サイト間のデータベースの一貫性は保証できる

(17年-午前問題-問41)

答え


解説

 通信障害などさまざまな状況により、指示が届かないことも考えられるので、サブトランザクションをコミットすべきかロールバックすべきか分からない場合もあります。従って「イ」が正解です。そのほかの選択肢は次の点で間違っています。


すべてのサブトランザクションからコミット了承応答が届けばすべてコミットされます。


サブトランザクションがロールバックされると、トランザクションはロールバックされます。


1相コミットでサイト間のデータベースの一貫性は保証できません。


column::分散データベースでの表の分割方法

 分散データベースで表を分割する場合、その方法は列ごとの分割(縦分割)と行ごとの分割(横分割)に分けられます。

縦分割(垂直分割):用途などを考慮した列グループで分割
横分割(水平分割):行ごとに分割

 横分割で行を別々の場所に分割する方法には次のようなものがあります。

キーレンジ分割方式:決められたキーの値や範囲に基づいて分割
ハッシュ分割方式:キーの値から求めたハッシュ値に基づいて分割
ラウンドロビン方式:行の発生時点で格納先を割り当てる

 大ざっぱな特徴として、キーレンジ分割方式は、どのデータがどこに格納されているか分かるので検索がしやすい一方、データが偏る可能性があります。ラウンドロビン方式は格納先を順番に割り当てるので偏りが少ない一方で、検索性が低くなります。

 ちなみに、キーレンジ分割方式とハッシュ分割方式については、17年の午前問題の問45で出題されています。

 


前のページへ 3/3  


 Index
データベーススペシャリスト試験攻略のツボ(4)
「分散データベース」に関する問題
  Page 1
・問4-1 分割に対する透過性
  Page 2
・問4-2 結合演算の最適化
→ Page 3
・問4-3 トランザクションのコミット制御
コラム:分散データベースでの表の分割方法
  

データベーススペシャリスト試験攻略のツボ



Database Expert フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Database Expert 記事ランキング

本日月間