Upgrade to Pro — share decks privately, control downloads, hide ads and more …

データベースと応用システム:分散データベース

 データベースと応用システム:分散データベース

More Decks by 自然言語処理研究室

Other Decks in Education

Transcript

  1. (c)長岡技術科学大学 電気系 3 分散データベースの形態 • 垂直分散 – データベースに主従関係がある。主サイトは従サイトに アクセスせず、従サイト間のアクセスもない。 –

    実現・管理が容易 – 主サイトにアクセスが集中 • 水平分散 – 各データベースが対等な関係で、互いにアクセスし得る – 拡張性や耐障害性が高く、負荷の集中もない – 管理がかなり複雑になる
  2. (c)長岡技術科学大学 電気系 4 データベースの透過性 • 透過性:分散していることを利用者に意識させず、 あたかも一つのデータベースのように見せること • 透過性要素: –

    位置:どこに保存されているかを意識不要 – 移動:サイトを移動した場合もこれを意識させない – アクセス:分散かどうかに関係なく同一アクセス可能 – 重複(複製):重複保存されていても意識不要 – 分割:表が分散されていることを意識不要 – 障害:障害を隠蔽し、適切に復旧する – 規模:大規模化しても環境に影響しない
  3. (c)長岡技術科学大学 電気系 6 データベースの表分割 表が大量である場合は表を分割して保存する必要が ある。 • 垂直分割(縦分割) – 独立性の高い列集合ごとにサイト分割

    • 水平分割(横分割) – 行の集まりごとにサイト分割。下記3方法がある。 – ラウンドロビン(格納順)分割 – キーレンジ分割 – ハッシュ分割
  4. (c)長岡技術科学大学 電気系 12 入れ子ループ法 サイトAが、サイトBとCの結合処理を行う場合、 • サイトB(アウターリレーション)から1行ずつサイトC に送る • サイトC(インナーリレーション)は送られてきた行ご

    とに照合して結合 • サイトBが全行送り終わったらサイトCの結合結果 をサイトAに送る • 処理回数は、アウターリレーションの行数 × イン ナーリレーションの行数(インデックスがない場合)
  5. (c)長岡技術科学大学 電気系 14 セミジョイン(準結合)法 前ページと同様のタスクについて、 • サイトBの結合対象列を射影演算で抽出、サイトCに送 る • サイトCで結合演算を行い、結果をサイトBに返す

    • サイトBで再度結合演算を行い、結果をサイトAに返す • 通信量は大幅に減少して効率がいい • 結合演算を2度行う必要があるのがちょっと面倒
  6. (c)長岡技術科学大学 電気系 16 分散トランザクション • 一つのトランザクションが複数のサイトに関係する 場合、トランザクションの原子性を満たすように注 意する必要がある。 – この処理機構をコミットメント制御と呼ぶ

    – 制御するほうを「主サイト」、されるほうを「従サイト」と 呼ぶ • コミットメント制御の方法 – 1相コミットメント – 2相コミットメント – 3相コミットメント
  7. (c)長岡技術科学大学 電気系 19 2相コミットメント • 主:コミット準備指示(可否問い合わせ) – 準備ができた従サイトは応答する(セキュア状態) – 主サイトは全従サイトがセキュアとなるまで待つ

    • 主:コミット要求 – すべてのデータベースが一斉に更新される – もしどこかの従サイトで異常発生すると、それを主サイ トに伝え、主サイトは全従サイトにロールバック命令 • 問題点:すべてのサイトがセキュア状態の時に障 害があると障害の回復を待ち続けてしまう。
  8. (c)長岡技術科学大学 電気系 20 主サイト 従サイト2 更新処理要求 更新処理 応答 コミット要求 コミット

    従サイト1 更新処理 コミット コミット準備 コミット準備 コミット準備 指示 応答 (セキュア 状態)
  9. (c)長岡技術科学大学 電気系 21 3相コミットメント • セキュア状態確認後に、さらに準備指示の確認 (プリコミット)を送信する。 • 2回確認すると何が違う? –

    2相:全サイトがセキュア状態であれば待ち続 けるしかない – 3相:タイムアウトによるアボートが実施できる
  10. (c)長岡技術科学大学 電気系 24 レプリケーションの種類 • 同期レプリケーション – 同期がリアルタイム、またはトランザクションごと – ネットワークの負荷が増大する可能性

    • 非同期レプリケーション – 複製と同期が一定間隔ごと(バッチ型) – 複製サイトに更新ログを送信し、複製サイトではそのロ グが反映される形で同期される – データベースイメージ(スナップショット)を送信する方式 もある – 複製サイトは読み取り専用のことが多い