So-net無料ブログ作成


データベースマネジメントシステム ブログトップ

分散データベース(4章の内容) [データベースマネジメントシステム]

この辺はもし分からなくても午前の一問落とすくらいで
すむような気がする。


4.3 分散データベース
    水平分散 同じ機能を提供 拡張性信頼性は良い。運用が複雑に。
    垂直分散 主従関係 重複が少なく管理は容易。

 [12のルール]
  ローカルサイトの独立、中央サイトからの独立、無停止運転、存在場所からの独立
  分割からの独立、複製からの独立、分散問合せ処理、分散トランザクション処理
  ハードウェアからの独立、ソフトウェアからの独立、OSからの独立、DBMSからの独立

 [分散問合せ処理]
  入れ子ループ法
   アウターリレーションから1行送信してインナーリレーションの行を1行ずつ結合する。
    ※自然結合をするとき一方をアウター一方をインナーとする
  マージ結合法(ソートマージ法)
   対象の列でソート済みのテーブルを送信する
  準結合法(セミジョイン法)
   対象の列だけを送信し、受信側は結合結果と受信した列を送り返す。

 [分散トランザクション制御]
   コミットメント制御、原始性を守る、主サイト従サイト

  1相コミットメント制御
   まず、主催とが従サイトに更新し要求し従サイトが更新
   次に、主催とがコミット要求を出し従サイトがコミット
    ※コミット要求を出した後従サイトの一つに障害発生すると不整合となる。

  2相コミットメント制御
   更新処理要求→コミット準備要求(セキュア状態)→コミット要求
    ※セキュア状態で障害が発生すると待ち続けてしまう。

  3相コミットメント
   更新処理要求→コミット準備要求→コミット準備確認→コミット指示
    ※タイムアウトでアボートさせる

 [レプリケーション]
  一定間隔で内容を複写する。アクセス負荷やネットワーク負荷の分散。障害回復。
  同期レプリケーション
    オリジナルデータの更新時に複製側も更新
  非同期レプリケーション
    一定の感覚でデータ同期。更新ログの通信と複製へのログ反映という形。複製はRO?

 データベースの再構成
  データ構造を変更する。列やインデックスの追加。仕様変更対応。
 データベースの再編成
  フラグメンテーションの解消。記憶効率、アクセス効率の回復。データ再配置。


4.4 インデックス(索引)
  キーとなる項目とポインタの組で構成。検索の効率化。

 ハッシュ
  ある計算式でポインタ格納位置の番地を求める。結果が重なったものをシノニムという。
  オープンハッシュ=次の空きに格納。チェーンハッシュ=溢れ領域を持っておき格納。

 B木
  多くのDBMSで採用されている木構造を基にした実装。
  最大n個のキー値を持つB木は以下の条件
    ルート以外のノードは、n/2~n個のキー値を持つ
    ノードは、最大n+1個の子ノード、またはリーフを持つ
    全てのリーフは、ルートからの階層レベルが等しい
    ルートがリーフの場合、1個以上のキー値を持つ

 B+木
  B木は順次アクセスを行なうとき効率が悪い。B+木は以下の条件を追加したもの。
    キー値とポインタはリーフのノードに格納(シーケンスセットと呼ぶ)
    各リーフはポインタでつなぐ


【勉強時間】
4.3~4.4節の勉強 1時間


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:資格・学び

トランザクション管理機能(4章の内容) [データベースマネジメントシステム]

今回の内容は分かりやすいし、細かい用語を覚えなくても
ちょっと考えれば分かりそうな気がする。
何といってもDB専門じゃないものは馴染みがあるから。
でもこういう油断が基礎をおろそかにするのだろうな。


4.1 トランザクション管理機能
 トランザクション ユーザから見た一連の処理のまとまり
 ACID特性
  原子性(Atomicity)
  一貫性(Consistency)
  独立性(Isolation)
  耐久性(Durability)

 コミットメント制御
  コミット  一連のトランザクション終了後に結果を確定すること
  ロールバック トランザクション中に何らかのエラーがあれば前の状態に戻す

 排他制御
  占有ロック(ライトロック)、共有ロック(リードロック)
  ロックの粒度
    タプル、ページ、テーブル、DB  範囲が大きいと待ち時間も長い

  2相ロッキングプロトコル
    処理前にロックして処理後にロック解除する

  デッドロック
    2つのトランザクションがお互いのロック解除待ちとなる状態
    検出にはタイムアウトか待ちグラフ
    解除するには、トランザクションをアボート(中止)

  一貫性の水準
    独立性(直列可能性)を守る度合い
    レベル0(READ_UNCOMMITTED) 更新時のみ共有ロック
    レベル1(READ_COMMITTED) トランザクション終了まで占有ロック
    レベル2(REPEATEABLE_READ) 読込みデータも共有ロック
    レベル3(SERIALIZEBLE) アクセスを一切不能に

    ダーティリード 確定していない行が見えてしまう
    ノンリピータブルリード トランザクション中の変更前後の値が取れてしまう
    ファントムリード トランザクション中に追加された行で2通りの結果が取れる

  障害回復機能
    ログファイル 全操作履歴、更新前後のイメージ
    バックアップ ある時点のDBのコピー
    チェックポイント メモリ上の内容と二次記憶上のDBを同期させるタイミング
    ロールバック ログを使って現時点のDBを特定の時点まで戻すこと
    ロールフォワード ログを使ってある時点から現時点に向かってDBを回復すること

    トランザクション障害 トランザクションの処理で何らかのエラー
      トランザクション処理をロールバックして回復
    システム障害 電源断やOSの障害などでDBMSが停止する
      DB再起動して直前のチェックポイントからロールバックとロールフォワード
    媒体障害 ハードディスククラッシュなどでDBのデータが失われる
      バックアップコピーから復元


4.2 セキュリティ
  セキュリティ管理対象
    ユーザ、テーブル、ストアドプロシージャ(サーバ側に上げておく一連の処理)、ファイル
  セキュリティ管理方法
    アクセス権 GRANT、REVOKE
    ロール   権限をグループ化したもの
    ビュー   不用意に実テーブル全てを見せないさわらせない


【勉強時間】
4.1~4.2節の勉強 1.5時間

nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:資格・学び
データベースマネジメントシステム ブログトップ




この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。

×

この広告は1年以上新しい記事の更新がないブログに表示されております。