人気ブログランキング | 話題のタグを見る

私は房州魂をいつまでも忘れません!!
by ikustanqueen0420
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
検索
カテゴリ
自己紹介 -mE-
日記 -Life Thinking-
生活術 -Happiness-
ニュース -Fundamental-
安房 -Last Utopia-
ドラマ -Local Human-
映画 -Global Human-
音楽 -Time Daydream-
本 -Frontier-
情報A -IT Admin-
情報B -IT Develop-
情報処理試験1 -DB-
データベース用語 -Piece-
元気のミナ素 -Minapon-
歩け歩け -Be Dreams-
ダーマの神殿-Interface To-
理想郷 -Utopia-
最新のトラックバック
以前の記事
2008年 06月
2008年 05月
2008年 04月
2008年 03月
2008年 02月
2008年 01月
2007年 12月
2007年 11月
2007年 10月
2007年 09月
2007年 08月
2007年 07月
2007年 06月
2007年 05月
2007年 04月
2007年 03月
2007年 02月
2007年 01月
2006年 12月
2006年 11月
2006年 10月
2006年 09月
2006年 08月
2006年 07月
2006年 05月
2006年 04月
2006年 03月
2006年 02月
2006年 01月
2005年 12月
2005年 11月
2005年 10月
2005年 09月
2005年 08月
2005年 07月
2005年 06月
2005年 05月
2005年 04月
2005年 03月
2005年 02月
2005年 01月
2004年 12月
2004年 11月
2004年 10月
2004年 09月
お気に入りリンク先
ライフログ
その他のジャンル
ファン
記事ランキング
ブログジャンル
画像一覧


ちょっと分からなかった用語 3 [データベース試験]

「今回の分からなかった単語」

  • 2 相ロック( 2 Phase Lock )
  • トランザクションの並列処理時に発生する問題
    (ファントムリード、ダーティリードなど)
  • 一貫性水準のレベル
  • 分散データベースの結合




2 相ロック( 2 Phase Lock ):
トランザクションを直列実行させるためのロック方法。

トランザクションの最初(データを使用する前)に、そのトランザクション内で使用するデータ全てに、一斉ロックを掛け(第 1 相)
データ操作終了後に、いっせいにロックを解除する(第 2 相)
その後は二度とロックを掛けない。

デッドロックが起きにくいが、完全には防げない


トランザクションの並列処理時に発生する問題:
  • 幻( ファントムリード [Phantom Read] )
    トランザクション A が、Where 句などで絞り込んだ行をテーブルから抽出した直後に、別のトランザクションが、そのテーブルに Where 句で抽出される条件のデータを挿入してしまい、もう一度同じ条件で、トランザクション A がテーブルの読み込みを行うと、最初には無かったレコードも返ってきてしまう問題。
    (おばけ( Phantom )が、生まれるという例えから)
    ちょっと分からなかった用語 3 [データベース試験]_b0021451_132586.gif


  • 汚い読み込み( ダーティリード [Dirty Read] )
    トランザクション A が、テーブルの、あるレコードを更新したとする。
    その直後に、別のトランザクション B がそのレコードを読み込んだのだが、トランザクション A は、その更新結果を途中でやめたくなって、ロールバックしてしまい、最初に更新したレコードの値が元に戻ってしまう。
    その結果、ロールバック前にレコードを読み込んだトランザクション B が得た値は、全くデタラメな値となってしまう問題。
    ちょっと分からなかった用語 3 [データベース試験]_b0021451_133828.gif


  • 失われた更新( Lost Update )
    最初に、トランザクション A がレコードを読み込んだとして、値の更新処理をする。
    この時点で A はまだコミットしていないのだが、すぐさまトランザクション B がコミット前のデータを読み込んでしまい、また別の値で更新してしまう。
    その結果、最初にコミットした方の値が、その後にコミットした値に書き換えられてしまう問題。
    ちょっと分からなかった用語 3 [データベース試験]_b0021451_254422.gif


  • 繰り返し不可能な読み込み( un-Repeatable Read )
    あるトランザクション A が読み込んだ列の値を、別のトランザクションが更新してコミットしてしまう事によって、もう一度トランザクション A が同じ条件でテーブルからデータを抽出した場合に、値が変更されたデータを読み出す事が出来なくなってしまう可能性が出てくる問題。
    ちょっと分からなかった用語 3 [データベース試験]_b0021451_314687.gif


ここも参照したい。


一貫性水準のレベル:
一貫性の水準とは、トランザクションの直列可能性を守る度合いの事である。
  • レベル 0( Read unCommitted )
    更新するデータにのみ占有ロックを掛け、更新後すぐに開放
    トランザクションはまだ続く

  • レベル 1( Read Committed )
    占有ロックを掛けるのは、レベル 0 と同じだが、こちらはトランザクション実行中ずっと掛けている。

  • レベル 2( Repeatable Read )
    レベル 1 の内容 + 他のトランザクションが開放していないデータを読み込まない。

  • レベル 3( Serializable )
    レベル 2 の内容 + たとえトランザクション中、更新せず読み込みしかしないデータでも、テーブルごと占有ロックを掛ける。
    ちょっと分からなかった用語 3 [データベース試験]_b0021451_3445784.gif



分散データベースの結合:
  • 入れ子ループ法
    テーブルから1行取り出して送信し、結合対象テーブルの全ての行と結合していく方法。
    インデックスがかかっていない場合、結合処理の回数は
    サイト A のテーブルのレコード数 × サイト B のテーブルのレコード数

  • セミイジョイン法
    1. まず、片方のテーブルから結合キーとなる列だけを、相手サイトに送信する。
    2. そして、列を受信したサイトのテーブルから、受信した列をキーとして合致する行のみを取り出し、相手サイトに返信する。
    3. 受け取った返信データを元に、結合処理をする。

    この結合法は、通信料の削減を目的として考案された。

  • ソートマージ法(マージ結合法)
    両サイトにあるテーブルのデータを、結合キーをソートキーとしてソーティングし、ソート済みのテーブルを、結合処理を行うサイトへ送信して、併合処理をしながら結合する方法

by ikustanqueen0420 | 2005-02-24 14:05 | データベース用語 -Piece-
<< 鬱×365日 ちょっと分からなかった用語 2... >>