REDOログ・ファイル内のMySQL

REDOログ・ファイル内のMySQL

3つのMySQLのログファイルはビンログは、ログを元に戻す、REDOログ、があります。エンジンREDOログ蓄積層(InnoDBの)メインデータの信頼性を確保するために、ログ生成;ビンログは、MySQLデータベースレベルのログに発生主時点のために使用され、マスターコピーから回復されます。ロールバックログが主にトランザクションのために使用されるアンドゥ(各変更操作の逆操作のログレコードを元に戻す)と非ロックの一貫--- MVCCは、マルチバージョン同時実行制御を読み出す(特定のバージョンに戻す行をログロールを元に戻します)。

REDOログとログは、ストレージエンジンレベルのログに生成される元に戻し、すべてのデータ変更を記録する:だけオフセットライトYYY、ページ上で変更されたレコードをログに記録し、このようなページ番号XXXとして「物理レベル」操作をやり直します「ZZZ」トランザクションに、ログレコードを元に戻すことは、このようなINSERTステートメントデータ操作の行は、アンドゥログが記録されている逆DELETE動作として、論理操作ログです。

効果をREDOログ

MySQLのストレージシステムとして、データの信頼性を確保するために、場所の受注が最終的に得られます。しかし、データの書き込み速度とは、メモリはに基づいて導入される必要があり、「プール。」実際には、MySQLのよりも、このバッファは、どこでも思考の速度の問題を解決するために導入されます。今、データをバッファプールにキャッシュされていることを最初に、その後ディスクにフラッシュ何らかの方法で、そして失われたため、この場合の問題点を解決するために、データの損失によるダウンタイムにバッファー・プール内のデータ、REDOログの導入があります。例えばElasticsearchのような他のストレージシステムではなく、トランスログと呼ばれる同様の機構を有しています。

データは一般的な議論に書き込まれたときしかし、MySQLでは、一般的な取引は耐久性のコミットされた後の保証を確保する方法を、トランザクションのACID特性に応じて、トランザクション操作と呼ばれますか?そして、それは、REDOログの役割です。MySQLへのユーザデータを書き込む場合、最初は、その後によるREDOログ、REDOログの書き込みに「何とか」REDOログ・ファイルに、ディスクに永続化、ユーザデータが入っている中で「バッファ」(そのようなデータページ、インデックスページなど)。ダウンタイムが発生した場合は、ディスク上のファイルをREDOログ・データを回復するために読み込まれます。このような観点から、持続的なMySQLのトランザクションはREDOログによって達成されます。

REDOログがディスクに書き込まれます

トランザクションの動作中に、我々はREDOログ生成していき、再実行ログは最初のREDOログ・バッファに設定され、その後にREDOログ・バッファデータに何らかの方法順次(ディスクに書き込まれた各オペレーションを再実行ログ・ログバッファをやり直すために集約して、ディスクを書き込むために、REDOログ・バッファで統一、あなたが書かれた順)を行うことができます。これらのメソッドは以下のとおりです。

  • 1秒に1回のMySQLマスタースレッド定期的なタスクは、REDOログ・バッファがディスクにフラッシュされる(トランザクションがまだ提出していなくても)

  • MySQLのマスター・スレッド定期的なタスク10秒ごとに、REDOログ・バッファがディスクにフラッシュされます

  • REDOログ・バッファ・サイズは自由空間(innodb_log_buffer_sizeパラメータ)の1/2未満である場合、REDOログ・バッファをディスクにフラッシュされます

  • REDOログ・ファイルのサイズは、REDOログ・バッファをリフレッシュしながらタイムリーにダーティー・ページの一部が、ディスクにフラッシュされ、「利用できない」(ファイルを書き込むなり、ファイル・グループのテイクを記録)、トリガ非同期/フラッシュのチェックポイントを同期するには約一定のしきい値に達したときディスク、その後、REDOログ・ファイルのログ順序番号値を更新します。

バッファREDOログは、タイミングパラメータは、パラメータの可能な値によって制御されるディスクinnodb_flush_log_at_trx_commitにフラッシュされている:0,1,2:

  • マスタタスクによって定期的に0リフレッシュスレッド
  • 1トランザクションがREDOログ・バッファの同期をコミット呼び出しを伴う、ディスクの書き込みを行うにfsync
  • 2が非同期にデータを記録するREDOログ・ディスクに書き込まれ、トランザクションが提出はREDOログ・データがディスク上に格納する必要があります保証するものではありません成功した後、そのだけ、ファイルシステムキャッシュに書き込まれ、

REDOログがディスクに書き込まれると、512Bのセクタサイズは、各書き込みは、首尾よく書くことができ、二重書き込みメカニズムを必要としないことを確実にするために書かれています。

オリジナル:https://www.cnblogs.com/hapjin/p/11521506.html

おすすめ

転載: www.cnblogs.com/hapjin/p/11521506.html