ホームページ >データベース >mysql チュートリアル >データベース回復テクノロジーとは何ですか?

データベース回復テクノロジーとは何ですか?

青灯夜游
青灯夜游オリジナル
2021-07-27 11:17:2922349ブラウズ

データベース回復テクノロジには次のものが含まれます。 1. データ ダンプ、つまり、DBA がデータベース全体を定期的にテープまたは別のディスクにコピーして保存するプロセス。 2. ログ ファイルの登録 ログ ファイルは、データベース上のトランザクションの更新操作を記録するファイルです。ログ ファイルを設定すると、トランザクション障害の回復、システム障害の回復、およびメディア障害回復時のバックアップ コピーの支援が可能になります。

データベース回復テクノロジーとは何ですか?

このチュートリアルの動作環境: Windows7 システム、mysql8 バージョン、Dell G3 コンピューター。

データベース回復の概要

データベース管理システムには、データベースをエラー状態から既知の正しい状態に回復する機能が必要です。これがデータベース回復です。回復サブシステムはデータベース管理システムの重要な部分であり、非常に大きく、システム コード全体の 10% 以上を占めることもあります。データベースシステムで使用されているリカバリ技術が有効であるかどうかは、システムの信頼性を左右するだけでなく、システムの運用効率にも大きな影響を及ぼし、システムの性能を測る重要な指標となります。 。

システム障害はソフト障害と呼ばれ、メディア障害はハード障害と呼ばれます。ハード障害とは、ディスクの損傷、ヘッドの衝突、瞬間的な強い磁界の干渉など、外部ストレージの障害を指します。このタイプの障害はデータベースまたはデータベースの一部を破壊し、データのこの部分にアクセスしているすべてのトランザクションに影響を与えます。

コンピュータ ウイルス

さまざまな種類の障害をまとめると、データベースへの影響には 2 つの可能性があります。 1 つは、データベース自体が破損していることです。 2つ目は、データベースは破損していないが、トランザクションが異常終了したためにデータが正しくない可能性があります。

リカバリ実装テクノロジ

リカバリ メカニズムには 2 つの重要な問題があります:

1. 冗長データを確立する方法;

2これらの冗長データを使用してデータベースのリカバリを実装する方法。

冗長データを作成するための最も一般的な手法は、データ ダンプとログ ファイルです。通常、データベース システムでは、これら 2 つの方法が併用されます。

#データ ダンプ

データ ダンプは、データベースの回復で使用される基本テクノロジです。いわゆるダンプは、DBA が定期的にデータベース全体をテープまたは別のディスクにコピーして保存するプロセスです。これらの予備データはスタンバイ コピーまたはバックアップ コピーになります。

ダンプは、静的ダンプと動的ダンプに分類できます。

  • 静的ダンプは、システム内に実行中のトランザクションがないときに実行されるダンプ操作です。つまり、ダンプ操作が開始されるとき、データベースは一貫した状態にあり、ダンプ中はデータベースへのアクセスや変更アクティビティは許可されません。明らかに、静的ダンプから取得するものは、データの一貫したコピーである必要があります。

  • 動的ダンプは、ダンプ中にデータベースへのアクセスまたは変更が許可されることを意味します。ただし、ダンプの最後にあるバックアップ コピーのデータが正確かつ有効であるとは保証されません。そのためには、ダンプ期間中に各トランザクションの変更アクティビティをデータベースに登録し、ログ ファイルを作成する必要があり、バックアップ コピーとログ ファイルによって、データベースを特定の時点で正しい状態に復元できます。一瞬。

ダンプは、大規模ダンプと増分ダンプの 2 つの方法に分類できます。一括ダンプとは、データベース全体を毎回ダンプすることを指します。増分ダンプとは、前回のダンプ以降に更新されたデータのみをダンプすることを指します。リカバリの観点から見ると、一般に、リカバリには大量ダンプから取得したバックアップ コピーを使用する方が便利です。

データ ダンプ方法は、動的増分ダンプ、動的マス ダンプ、静的インクリメンタル ダンプ、および静的マス ダンプの 4 つのカテゴリに分類できます。

#ログ ファイルの登録

ログ ファイルの形式と内容

ログ ファイルは次の目的で使用されます。データベースへのトランザクション更新を記録するファイル。ログ ファイルには、レコード内のログ ファイルとデータ ブロック内のログ ファイルの 2 つの主な形式があります。

レコード単位のログファイルの場合、登録が必要な内容は、

1. 各トランザクションの開始マーク

2. 各トランザクションの終了マーク

3. 各トランザクション すべての更新操作

各ログ レコードの内容は次のとおりです:

1. トランザクションの識別 (どのトランザクションであるかを示します)

2. 操作の種類 (挿入、削除または変更)

3. 操作オブジェクト (内部識別を記録)
4. 更新前のデータの古い値
5. 更新後のデータの新しい値

の役割ログ ファイル

ログ ファイルは、データ回復において非常に重要な役割を果たします。トランザクション障害の回復やシステム障害の回復に使用でき、メディア障害の回復におけるバックアップ コピーを支援します。

具体的な機能は次のとおりです:

1. トランザクション障害の回復とシステム障害の回復にはログ ファイルを使用する必要があります。

2. ダイナミック ダンプ モードでは、ログ ファイルは次のとおりです。作成されたバックアップ コピーとログ ファイルが結合されて、データベースが効果的に復元されます。

3. 静的ダンプ モードでは、ログ ファイルも作成できます。

ログ ファイルの登録

データベースが確実に回復可能であるようにするには、ログ ファイルを登録するときに次の 2 つの原則に従う必要があります。
1. 登録の順序は、同時トランザクション実行の時間順序に厳密に従っている必要があります。
2.最初にログ ファイルを書き込み、次にデータベースを書き込む必要があります。

回復戦略

トランザクション障害の回復

トランザクション障害の回復は、次によって自動的に実行されます。システムは完成しており、ユーザーには透過的です。システム回復手順は次のとおりです:

1. ログ ファイルを逆方向​​にスキャン (つまり、ログ ファイルを最後から順にスキャン) して、トランザクションの更新操作を見つけます。

2. トランザクションの更新操作の逆の操作を実行します。つまり、ログレコードの「更新前の値」がデータベースに書き込まれます。このように、レコードが挿入操作の場合は削除操作と同等、レコードが削除操作の場合は挿入操作が実行され、変更操作の場合は代わりに前の値を変更することと同等になります。変更された値の。

3. 引き続きログ ファイルを逆方向​​にスキャンし、トランザクションの他の更新操作を見つけて、同じ処理を実行します。

4. このトランザクションの開始マークが読み取られ、トランザクション障害の回復が完了するまで、このように処理を続けます。

システム障害からの回復

トランザクション障害からの回復はシステムによって自動的に完了し、ユーザーには意識されません。システムの回復手順は次のとおりです:

1. ログ ファイルを順方向にスキャンして、障害が発生する前に送信されたトランザクションを見つけ、そのトランザクション ID を再実行キューに記録します。同時に、障害が発生したときに完了していなかったトランザクションを見つけて、それらのトランザクション表現をアンドゥ キューにカウントします。

2. アンドゥ (UNDO) キュー内の各トランザクションを元に戻します。

UNDO 処理の方法は、ログ ファイルを逆スキャンし、各 UNDO トランザクションの更新操作で逆の操作を実行することです。つまり、ログ レコードの「更新前の値」をデータベースに書き込みます。 。

3. REDO キュー内のトランザクションごとに REDO 処理をやり直す

REDO 処理の方法は、ログ ファイルをフォワード スキャンし、REDO トランザクション操作ごとにログ ファイルを再登録します。つまり、ログ レコードの「更新された値」がデータベースに書き込まれます。

メディア障害からの回復

障害から回復する方法は、データベースを再インストールし、完了したトランザクションをやり直すことです。

1. 最新のデータベース バックアップ コピーをロードすると、データベースが最新のダンプの一貫性のある状態に復元されます。

2. ログ ファイルの対応するコピーをロードし、完了したトランザクションをやり直します。つまり、最初にログ ファイルをスキャンして、障害が発生したときにコミットされたトランザクションの ID を見つけ、それを再実行キューにカウントします。次に、ログ ファイルを順方向にスキャンし、REDO キュー内のすべてのトランザクションをやり直します。つまり、ログ レコードの「更新された値」がデータベースに書き込まれます。

メディア障害からの回復には DBA の介入が必要です。ただし、DBA は、最近ダンプされたデータベース コピーと関連するログ ファイルのコピーを再インストールし、システムが提供するリカバリ コマンドを注文するだけでよく、特定のリカバリ操作は DBMS によって完了されます。

データベースミラーリング

ディスク容量が大容量化するにつれて、価格もどんどん安くなっていきますが、ディスクメディアの障害によるデータベースの可用性への影響を避けるために、多くのデータベース管理システム データベース回復のためのデータ分散機能を提供します。 DBA の要求に従って、データベース全体またはデータベース内の主要なデータが別のディスクに自動的にコピーされます。

データベース ミラーリングはデータのコピーによって実現されるため、データを頻繁にコピーすると当然システムの運用効率が低下するため、アプリケーションでは、データベース全体をミラーリングするのではなく、重要なデータとログ ファイルのみをミラーリングすることを選択することがよくあります。鏡。

(推奨チュートリアル: mysql ビデオ チュートリアル )

以上がデータベース回復テクノロジーとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。