SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

直近開催のイベントはこちら!

EnterpriseZine編集部ではイベントを随時開催しております

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けの講座「EnterpriseZine Academy」や、すべてのITパーソンに向けた「新エバンジェリスト養成講座」などの講座を企画しています。EnterpriseZine編集部ならではの切り口・企画・講師セレクトで、明日を担うIT人材の育成をミッションに展開しております。

お申し込み受付中!

あたらしいSQL Server/Denaliの世界

Indirect Checkpoint (前編)


3. データベースの復旧時間

 では、通常データベースの復旧時間はどのように決まるのでしょうか?Indirect Checkpointのしくみを説明するまえに、いったんおさらいしておきましょう。

 データベースの復旧時間は、主にRedoデータとUndoデータ (高速復旧が利用できない場合*) がどれほど存在するかによって決まります。これは、最後のチェックポイント以後に行われた処理の量と、データベースがクラッシュした時点でアクティブであったトランザクションによって既に行われていた処理の量によって決まりまるということです。*高速復旧は、Enterprise Editionでのみ利用可能です。また、復旧モデルが完全復旧モデルで、かつ完全バックアップが採取された後でなければなりません。

 もう少し詳細に説明すると、Redoデータとは、データベースがクラッシュした時点では、トランザクションは完了していたが、データファイルにはまだメモリの内容が書き込まれていなかったデータのことです。トランザクションログには、どのようにデータを変更したかが記録されているので、復旧処理ではトランザクションログを読み取って、Redoデータを作成しトランザクションの再実行を行うことができるのです。この復旧処理における再実行処理をRedo処理と呼び、Redo処理はRedoデータが多いと処理に時間がかかります。

 通常は、データファイルへの書き込みはチェックポイントのタイミングでメモリの内容が一括フラッシュされます。つまり、Redoデータの量は、チェックポイントが実行されてからどれほどのデータが変更されたかによって大きく異なります。

 例えば、チェックポイントが実行された直後にクラッシュしたような場合は、変更のあったメモリの内容のほとんどがデータファイルに書き込まれていると想定されるためRedo処理の時間は短くなると想定されますが、チェックポイントが実行されてから次のチェックポイントが実行される直前にクラッシュしたような場合は、Redo処理が長くなると想定されます。

 Undoデータとは、データベースがクラッシュした時点ではトランザクションが完了していなかったデータです。トランザクションログには、トランザクションの開始と終了が記録されているので、復旧処理ではトランザクションログを読み取って、Undoデータを作成し未解決のトランザクションをロールバックします。この復旧処理におけるロールバック処理をUndo処理と呼び、Undo処理はUndoデータが多いと処理に時間がかかります。

 つまり、Undoデータは、クラッシュした時点で完了していなかったトランザクションがどれほどデータを変更していたか (つまり、どれほどのデータをロールバックしなければならないか) によって異なります。

次のページ
4. Indirect Checkpointのしくみ

この記事は参考になりましたか?

  • Facebook
  • Twitter
  • Pocket
  • note
あたらしいSQL Server/Denaliの世界連載記事一覧

もっと読む

この記事の著者

古賀 啓一郎(コガ ケイイチロウ)

日本マイクロソフト株式会社勤務。きままなエンジニア。
謎があると解決せずにはいられない性格。
週末は家事に従事。 

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

EnterpriseZine(エンタープライズジン)
https://enterprisezine.jp/article/detail/3750 2012/02/10 18:33

Job Board

AD

おすすめ

アクセスランキング

アクセスランキング

イベント

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング