検索
ホームページデータベースmysql チュートリアルMySQL の Redo ログと Undo ログとは何ですか?

    1. Redo ログの概要

    Redo ログは、ページの変更を記録する物理ログです。

    1.1 Redo ログの役割

    • データベースの書き込み効率の向上

    • データベースがデータを失わず、パフォーマンスを保証します。データリカバリ

    1.2 REDO ログの形式とタイプ

    いわゆる REDO 編成方法とは、効率的な REDO 書き込みを容易にするために、必要な REDO コンテンツをディスク ファイルに記録する方法です。 、読み取り、復元、クリーニングを行います。 REDO を上から論理 REDO 層、物理 REDO 層、ファイル層の 3 つの層に分割します。

    • 論理 REDO 層

    この層は実際の REDO コンテンツであり、順次データ フローです。REDO は複数の REDO レコードで構成され、接続されています。 InnoDB は、グローバル log_sys 内の現在の sn の最大値を維持し、データが書き込まれるたびに REDO コンテンツの長さだけ sn を増やします。

    • 物理 REDO 層

    ディスクはブロック デバイスです。InnoDB はデータの読み取りと書き込みにもブロックの概念を使用します。ブロックは OS_FILE_LOG_BLOCK_SIZE と同じです。 ディスク セクターのサイズは 512B で、各 IO 読み取りおよび書き込みの最小単位はブロックです。

    • #ファイル層

    最終的に REDO は REDO ログ ファイルに書き込まれ、ログ ファイルはループ内に書き込まれます

    MySQL の Redo ログと Undo ログとは何ですか?

    2. REDO ログ (MTR) の書き込みプロセス

    • ユーザー スレッドの操作は、最初に

      ログに書き込まれます。バッファ

    • ログ バッファ 内のログは、REDO 論理ログ

    • に順次書き込まれ、その後ディスクに保存

    • #ストレージが完了したことをユーザーに通知
    • #3. チェックポイント メカニズム

    チェックポイントは、REDO ログ内のダーティ ページのマーキング ビットには次の 2 つの機能があります:

      クリーニングを容易にするために REDO ログを維持する
    • 再起動ワークロードの削減

    MySQL の Redo ログと Undo ログとは何ですか?##データベース回復プロセス:

    チェックポイント情報の読み取り•チェックポイントの位置から開始して残りのログを読み取ります
    • #ログを解析し、space_no と page_id に従ってハッシュ テーブルを構築します

    • #REDO ログを適用し、REDO ログの再生で冪等性を確保します。

    • binlog を解析して xid リストを構築します

    • ロールバック セグメントをスキャンして、保留中のトランザクションのリスト

    • xid リストにないトランザクションをロールバックする

    • 4. Undo ログの概要

      Undo ログは、データの増分変更を記録する論理ログであり、その機能はトランザクションのアトミック性とトランザクションの同時実行制御を保証することです。 書き換え: Undo ログは、論理ログとして機能し、データの増分変更をログに記録することで、トランザクションのアトミック性を保証し、同時実行性を制御します。これを使用して、トランザクションのロールバック、マルチバージョン制御 (MVCC) の実装、読み取り/書き込みの競合と一貫した読み取りの解決を行うことができます。
    5. MVCC

    MVCC の意味:

    ##読み取りと書き込みは相互にブロックしません。

      デッドロックの可能性を減らし、
    • #一貫した読み取りを実現します。
    • MVCC における UndoLog の役割:
    • ##各トランザクションには 1 つずつ増加するトランザクション ID があります;

    データ ページの行レコードには、DB_ROW_ID、DB_TRX_ID、DB_ROLL_PTR が含まれています。

    • #DB_ROLL_PTR は、リンク リスト構造を介してデータ行のすべてのスナップショット レコードを連結します。 。

    以上がMySQL の Redo ログと Undo ログとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    声明
    この記事は亿速云で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
    MySQLでビューを使用することの限界は何ですか?MySQLでビューを使用することの限界は何ですか?May 14, 2025 am 12:10 AM

    mysqlviewshavelimitations:1)supportallsqloperations、制限、dataManipulationswithjoinsorubqueries.2)それらは、特にパフォーマンス、特にパルフェクソルラージャターセット

    MySQLデータベースのセキュリティ:ユーザーの追加と特権の付与MySQLデータベースのセキュリティ:ユーザーの追加と特権の付与May 14, 2025 am 12:09 AM

    reperusermanmanagementInmysqliscialforenhancingsecurationsinginuring databaseaperation.1)usecreateusertoaddusers、指定connectionsourcewith@'localhost'or@'% '。

    MySQLで使用できるトリガーの数にどのような要因がありますか?MySQLで使用できるトリガーの数にどのような要因がありますか?May 14, 2025 am 12:08 AM

    mysqldoes notimposeahardlimitontriggers、しかしpracticalfactorsdeTerminetheireffectiveuse:1)serverconufigurationStriggermanagement; 2)complentiggersincreaseSystemload;

    mysql:Blobを保管しても安全ですか?mysql:Blobを保管しても安全ですか?May 14, 2025 am 12:07 AM

    はい、それはssafetostoreblobdatainmysql、butonsiderheSeCactors:1)Storagespace:blobscanconsumesificantspace.2)パフォーマンス:パフォーマンス:大規模なドゥエットブロブスメイズ階下3)backupandrecized recized recized recize

    MySQL:PHP Webインターフェイスを介してユーザーを追加しますMySQL:PHP Webインターフェイスを介してユーザーを追加しますMay 14, 2025 am 12:04 AM

    PHP Webインターフェイスを介してMySQLユーザーを追加すると、MySQLI拡張機能を使用できます。手順は次のとおりです。1。MySQLデータベースに接続し、MySQLI拡張機能を使用します。 2。ユーザーを作成し、CreateUserステートメントを使用し、パスワード()関数を使用してパスワードを暗号化します。 3. SQLインジェクションを防ぎ、MySQLI_REAL_ESCAPE_STRING()関数を使用してユーザー入力を処理します。 4.新しいユーザーに権限を割り当て、助成金ステートメントを使用します。

    MySQL:BLOBおよびその他のNO-SQLストレージ、違いは何ですか?MySQL:BLOBおよびその他のNO-SQLストレージ、違いは何ですか?May 13, 2025 am 12:14 AM

    mysql'sblobissuitable forstoringbinarydatawithinarationaldatabase、whileenosqloptionslikemongodb、redis、andcassandraofferferulesions forunstructureddata.blobissimplerbutcanslowdowdowd withwithdata

    MySQLユーザーの追加:構文、オプション、セキュリティのベストプラクティスMySQLユーザーの追加:構文、オプション、セキュリティのベストプラクティスMay 13, 2025 am 12:12 AM

    toaddauserinmysql、使用:createuser'username '@' host'identifidedby'password '; here'showtodoitsely:1)chosehostcarefilytoconを選択しますTrolaccess.2)setResourcelimitslikemax_queries_per_hour.3)usestrong、uniquasswords.4)endforcessl/tlsconnectionswith

    MySQL:文字列データ型の一般的な間違いを回避する方法MySQL:文字列データ型の一般的な間違いを回避する方法May 13, 2025 am 12:09 AM

    toavoidcommonMonmistakeswithStringDatatypesinmysql、undultingStringTypenuste、choosetherightType、andManageEncodingandCollat​​ionsEttingtingive.1)U​​secharforfixed-LengthStrings、Varcharforaible Length、AndText/Blobforlardata.2)setCurrectCherts

    See all articles

    ホットAIツール

    Undresser.AI Undress

    Undresser.AI Undress

    リアルなヌード写真を作成する AI 搭載アプリ

    AI Clothes Remover

    AI Clothes Remover

    写真から衣服を削除するオンライン AI ツール。

    Undress AI Tool

    Undress AI Tool

    脱衣画像を無料で

    Clothoff.io

    Clothoff.io

    AI衣類リムーバー

    Video Face Swap

    Video Face Swap

    完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

    ホットツール

    SublimeText3 Linux 新バージョン

    SublimeText3 Linux 新バージョン

    SublimeText3 Linux 最新バージョン

    SublimeText3 中国語版

    SublimeText3 中国語版

    中国語版、とても使いやすい

    ドリームウィーバー CS6

    ドリームウィーバー CS6

    ビジュアル Web 開発ツール

    VSCode Windows 64 ビットのダウンロード

    VSCode Windows 64 ビットのダウンロード

    Microsoft によって発売された無料で強力な IDE エディター

    SublimeText3 Mac版

    SublimeText3 Mac版

    神レベルのコード編集ソフト(SublimeText3)