MySQLデータベースのストレージエンジンInnoDBのプロフィール

MySQLでおなじみの人々は、InnoDBストレージエンジンが知っている、あなたが知っているように、REDOログ・コアのInnoDBトランザクションログの1つである、REDOログを書いた後、InnoDBはトランザクションをコミットするのではなく、データファイルに書き込まれます。InnoDBはその後、非同期的に新しいトランザクション・データを非同期データファイルを書き込みした後、実際に格納されます。

だから、InnoDBのredoログ(ログファイル)とエンジンと後で、なぜ同時にパフォーマンスを向上させることができ、また、それはない失うデータを行うことを確実にするために、プール(バッファプール)をバッファリングする?何バッファー・プールとの間の特定の関係、REDOログ・データ・ファイルであり、それはあります。

また、多くのInnoDBコンセプト、ダーティページ(ダーティページ)があり、LRUは、(少なくとも最近使用)、その上のLSN(ログ・シーケンス番号)、チェックポイント(チェックポイント、チェックポイント)、および、これらの概念は、それにInnoDB内でどのような作品ですか?

マップを通してあなたを伝えるためにここに

関係バッファー・プール、REDOログおよびデータ・ファイル

image.png

原則1 InnoDBの図

あなたは記事を書くのプロセスとしてプロセスにトランザクションをInnoDBのことができます。InnoDBは、実際に書き込み処理し、処理を書いて、私たちは非常によく似ています。

ただ、考えて、リーダーシップは、フォーラムに掲載された記事を、書くために私たちを尋ねました。その後、我々は偉大なアイデアを考えや記事を置くことにしましたが、忘れてしまった後、指導者たちはまた、その後、答えに私たちを待って、短命の流行終了しない、それが懸念される一方で、他のものがあります、私たちあなたはそれをどのように行うのでしょうか?私たちは、最初のラフなアイデアを概説します、とすぐにそれを確認してみましょう、何かを書くために、独自のリーダーシップを伝え、その後、ドラフトとして、ブックにキーの詳細とレコードの一部を概説します。昨夜の時間など、そしてアートワークで書かれた単語任意の文章に草案の基礎を注ぎます。

このプロセスでは、我々はいくつかの重要なものを使用します。

私たちの脳は、一時的に私たちのアイデアを思い出すために使用されています

ドラフト、我々はドラフトを忘れアイデアや重要な詳細を入れないであろうことを確認する必要があります

私たちは最終的に出力されるアートワーク、

これらの事で、我々は確かに我々はすぐに自分自身のリーダーシップはこの事を取得することができます伝えることができ、美品をお見逃しなく作ることができないだけ。

InnoDBはまた、いくつかの重要なものという事実を使用しました。

バッファー・プール:私たちの脳もの

トランザクションログ:私たちのドラフトいます

データ・ファイル:私達のアートワークがあります

ただ、何もデータが失われないことを保証するために、かつ迅速に対応できるだけでなく、トランザクション全体を書くために、記事を書く前に、プロセスに従ってください。

書き込み操作がトランザクションで、InnoDBトランザクションデータは最初の脳に記憶されたバッファー・プールとトランザクションログに書き込まれ、ドラフトを書いています。あなたは、トランザクション、クライアントへの応答をコミットすることができます。「時間がある」InnoDBの後、非同期に書き込まれたデータは、正式にデータファイル形式にバッファー・プール、またはトランザクションログから書き込ま「アートワーク。」

これは、InnoDBのトランザクションログこの「草案」は、非破壊アートワークを復元することができます確保するために、それはあまりにも多くのスペースを取ることができない、トランザクションログには、次のような特徴を持っている必要があります:

トランザクションログが書き込まれるすべてのデータの内容を保存する必要があります

トランザクション・ログの内容は、新しいトランザクションログは、最終的に追加され、以前は変更しません

トランザクションデータは、データ・ファイルに書き込まれると、トランザクション・ログの「ドラフト」を削除することができます

、「下書き」のスペースを再利用することができ、同じ時間を; 3上記の機能により、我々は、「アートワーク」を形成する前に、「ドラフト」は削除されませんを見ることができ、最終的には、限りでは「ドラフト」として、私たちは書くことができなければならない「のアートワークを。」

その復旧プロセスは、注目すべきでもあります。すなわち、「アートワーク」クラッシュデータベースの前に形成され、我々は全体のプロセス、サーバーを再起動する、またはだけでも回復するために別のサーバーにデータをコピーする必要がある場合。データ復旧 - その最大の役割を再生するには、この時、トランザクションログ「ドラフト」。忘れて物事 - - これは、私たちは、多くの場合、労働生活で発生するという問題もある非常に似ています。

バッファー・プールは、基本的にメモリに格納されたデータ構造、メモリ、人間の脳での「物忘れ」です。場合は、最も可能性の高い「灰」のデータベースクラッシュ、データバッファプール。そのため、トランザクションログは、私たちが「メモ帳」を閉じて、それが私たちのメモリであり、我々はあなたが振り返ってみると、彼の記憶の背中を開くことができたときにことを忘れたときに、「ドラフト」として保存します。

image.png(これは画像であります

 

 

図の回復ロジック2

LSNとチェックポイント

上記書込みトランザクションの場合、使用中のデータベースを説明し、トランザクションが連続している、上記のInnoDBロジックによれば、書き込み「ドラフト」と書き込み「アートワーク」速度で、ケースの大多数の進行ありません同じ。

私たちの記事は非常に長い一日であれば、上記の「記事を書く」、例を続行するには、私は他の人が日中仕事をしていながら、我々は唯一の唯一のライトアートワークを継続するために夜に戻って、ドラフトを記録することができ、終了しないでしょう。私たちは昨日書いた:その後、我々は問題に直面します。

最も一般的な方法は、書き込みに決定するために、コントロールに毎晩どのコンテンツやアートワークコンテンツを起草することですが、そのテイクが長く、アートワークは、ゴージャスな声明を多く含む可能性があるため、我々は考える必要がありますコンテンツを比較します。

もう一つの、より簡単な方法は、あること、毎晩完成したアートワークの後、我々は、最後の1は、アートワークの内容のためにダウン書かれたマーキング、ドラフトにマークを作る次の夜ので、私たちすることができますタグの背面から開始、コンテンツを比較する必要がなく、私たちのアートワークを書き続けています。

第二の方法は、明らかに高い効率で、かつ追加のリスクがありません。したがって、このアプローチの使用上のInnoDB。LSNは、我々は、アートワークの最後のレコード番号を書い毎晩をマークダウン、ドラフト上の各レコードの数である、タグ番号がチェックポイントです。InnoDBは、このチェックポイントによると、あなたはすぐにどこ最後のリプレイを知ることができますが、この番号の前に草案を置くことができ、すべてが削除されました。

おすすめ

転載: www.cnblogs.com/bkyqtr/p/12526769.html
おすすめ