suchen
HeimDatenbankMySQL-TutorialWas sind MySQL Redo- und Undo-Logs?

    1. Einführung in das Redo-Protokoll

    Das Redo-Protokoll ist ein physisches Protokoll, das Seitenänderungen aufzeichnet.

    1.1 Die Rolle des Redo-Protokolls

    • Verbesserung der Effizienz beim Schreiben von Datenbanken

    • Stellen Sie sicher, dass die Datenbank keine Daten verliert und führen Sie eine Datenwiederherstellung durch

    1.2 Das Format und der Typ des Redo-Protokolls

    Das sogenannte Mit der REDO-Organisationsmethode wird der erforderliche REDO-Inhalt in einer Festplattendatei aufgezeichnet, um ein effizientes Schreiben, Lesen, Wiederherstellen und Bereinigen von REDO zu ermöglichen. Wir unterteilen REDO von oben nach unten in drei Schichten: logische REDO-Schicht, physische REDO-Schicht und Dateischicht.

    • Logische REDO-Schicht

    Diese Schicht ist der eigentliche REDO-Inhalt, ein sequentieller Datenfluss besteht aus mehreren REDO-Datensätzen unterschiedlicher Art, die am Ende mit einem global eindeutigen inkrementellen Offset sn verwaltet werden Maximalwert von sn im globalen log_sys und erhöht sn jedes Mal um die REDO-Inhaltslänge, wenn Daten geschrieben werden.

    • Physische REDO-Schicht

    Disk ist ein Blockgerät, um Daten zu lesen und zu schreiben. Die Länge eines Blocks entspricht der Größe des Festplattensektors Jeder IO-Lese- und Schreibvorgang ist ein Block.

    • Dateischicht

    Schließlich wird REDO in die REDO-Protokolldatei geschrieben, und die Protokolldatei wird in einer Schleife geschrieben

    Was sind MySQL Redo- und Undo-Logs?

    2. Der Prozess des Schreibens von Redo-Protokollen (MTR)

    • Die Operationen des Benutzerthreads werden zunächst in den Protokollpuffer geschrieben. log buffer

    • log buffer

    • Protokollpuffer Nacheinander in das logische Redo-Protokoll geschrieben

    • und später auf die Festplatte geschrieben

    wird der Benutzer benachrichtigt, dass die Speicherung abgeschlossen ist

    3

    Checkpoint ist das Markierungsbit schmutziger Seiten im Redo-Protokoll, das die folgenden zwei Funktionen hat:
    • Redo-Protokolle verwalten, um die Reinigung zu erleichtern
    • Reduzieren Sie den Arbeitsaufwand beim Neustart.

    Was sind MySQL Redo- und Undo-Logs?

    Datenbankwiederherstellungsprozess:

    • Checkpoint-Informationen lesen •Lesen Sie die verbleibenden Protokolle ab der Checkpoint-Position

    • Parsen Sie das Protokoll und erstellen Sie eine Hash-Tabelle gemäß space_no und page_id

    • Redo-Protokoll anwenden, Redo-Protokoll Die Wiedergabe sorgt für Idempotenz Rückgängig-Protokoll

    • Das Rückgängig-Protokoll ist ein logisches Protokoll, das die inkrementellen Datenänderungen aufzeichnet. Seine Funktion besteht darin, die Atomizität von Transaktionen und die Kontrolle der Parallelität von Transaktionen sicherzustellen. Umgeschrieben: Das Undo-Protokoll dient dazu, die Atomizität von Transaktionen zu gewährleisten und ihre Parallelität zu kontrollieren, indem es die inkrementellen Änderungen in den Daten protokolliert und als logisches Protokoll fungiert. Es kann verwendet werden, um Transaktionen rückgängig zu machen, die Multiversionskontrolle (MVCC) zu implementieren und Lese-/Schreibkonflikte sowie konsistente Lesevorgänge zu lösen.
    • 5. MVCC

    • Die Bedeutung von MVCC:

    • Lesen und Schreiben blockieren sich nicht gegenseitig;

    Reduzieren Sie die Wahrscheinlichkeit eines Deadlocks;

    Die Rolle von UndoLog in MVCC:

      Jede Transaktion hat eine einstufige Transaktions-ID;
    • Der Zeilendatensatz der Datenseite enthält DB_ROW_ID, DB_TRX_ID, DB_ROLL_PTR;
    • DB_ROLL_PTR Alle Snapshot-Datensätze der Datenzeilen werden über eine verknüpfte Listenstruktur verkettet.

    Das obige ist der detaillierte Inhalt vonWas sind MySQL Redo- und Undo-Logs?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme
    Dieser Artikel ist reproduziert unter:亿速云. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
    Was sind die verschiedenen Speichermotoren in MySQL?Was sind die verschiedenen Speichermotoren in MySQL?Apr 26, 2025 am 12:27 AM

    MysqloffersVariousStorageEngines, EverySuitedfordifferentusecases: 1) InnoDbisidealforApplicationsNeedingaCidComplianceandHighConcurrency, SupportingingTransactions und MisseractersactionSactions.2) MyisamisBestforread-Heavyworks, Fehlen von Abladungen, mangelndtransaktionen

    Was sind einige gängige Sicherheitslücken in MySQL?Was sind einige gängige Sicherheitslücken in MySQL?Apr 26, 2025 am 12:27 AM

    Zu den allgemeinen Sicherheitslücken in MySQL gehören die SQL -Injektion, schwache Passwörter, unsachgemäße Berechtigungskonfiguration und eine nicht updierte Software. 1. SQL -Injektion kann durch Verwendung von Vorverarbeitungsanweisungen verhindert werden. 2. Schwache Passwörter können vermieden werden, indem Sie starke Kennwortstrategien verwenden. 3. Eine unsachgemäße Berechtigungskonfiguration kann durch regelmäßige Überprüfung und Anpassung der Benutzerberechtigungen behoben werden. 4. Die nicht updierte Software kann durch regelmäßiges Überprüfen und Aktualisieren der MySQL -Version gepatcht werden.

    Wie können Sie langsame Abfragen in MySQL identifizieren?Wie können Sie langsame Abfragen in MySQL identifizieren?Apr 26, 2025 am 12:15 AM

    Das Identifizieren langsamer Abfragen in MySQL kann erreicht werden, indem langsame Abfrageprotokolle aktiviert und Schwellenwerte festgelegt werden. 1. Aktivieren Sie langsame Abfrageprotokolle und setzen Sie Schwellenwerte. 2. Sehen und analysieren Sie langsame Abfrageprotokolldateien und verwenden Sie Tools wie MySQLDUMPSLOW oder PT-Query-Digest für eingehende Analysen. 3. Die Optimierung langsamer Abfragen kann durch Indexoptimierung, Umschreiben von Abfragen und Vermeidung der Verwendung von Select*erreicht werden.

    Wie können Sie die Gesundheit und Leistung von MySQL Server überwachen?Wie können Sie die Gesundheit und Leistung von MySQL Server überwachen?Apr 26, 2025 am 12:15 AM

    Um die Gesundheit und Leistung von MySQL -Servern zu überwachen, sollten Sie auf Systemgesundheit, Leistungsmetriken und Abfrageausführung achten. 1) Überwachen Sie die Systemgesundheit: Verwenden Sie die Befehle von Top-, HTOP- oder ShowglobalStatus, um CPU-, Speicher-, Festplatten -E/A- und Netzwerkaktivitäten anzuzeigen. 2) Leistungsindikatoren verfolgen: Überwachen Sie die Schlüsselindikatoren wie die Abfragennummer pro Sekunde, die durchschnittliche Abfragezeit und den Cache -Hit -Rate. 3) Optimierung der Abfrageausführung sicherstellen: Aktivieren Sie langsame Abfragenprotokolle, zeichnen und optimieren Sie Abfragen, deren Ausführungszeit den festgelegten Schwellenwert überschreitet.

    Vergleichen und kontrastieren Sie MySQL und Mariadb.Vergleichen und kontrastieren Sie MySQL und Mariadb.Apr 26, 2025 am 12:08 AM

    Der Hauptunterschied zwischen MySQL und Mariadb ist Leistung, Funktionalität und Lizenz: 1. MySQL wird von Oracle entwickelt und Mariadb ist seine Gabel. 2. Mariadb kann in Umgebungen mit hoher Last besser abschneiden. 3.MariADB bietet mehr Speichermotoren und Funktionen. 4.Mysql nimmt eine doppelte Lizenz an, und Mariadb ist vollständig Open Source. Die vorhandene Infrastruktur, Leistungsanforderungen, funktionale Anforderungen und Lizenzkosten sollten bei der Auswahl berücksichtigt werden.

    Wie ist die Lizenzierung von MySQL mit anderen Datenbanksystemen verglichen?Wie ist die Lizenzierung von MySQL mit anderen Datenbanksystemen verglichen?Apr 25, 2025 am 12:26 AM

    MySQL verwendet eine GPL -Lizenz. 1) Die GPL -Lizenz ermöglicht die freie Verwendung, Änderung und Verteilung von MySQL, aber die geänderte Verteilung muss GPL entsprechen. 2) Gewerbelizenzen können öffentliche Änderungen vermeiden und für gewerbliche Anwendungen geeignet sind, die Vertraulichkeit erfordern.

    Wann würden Sie InnoDB über MyISAM wählen und umgekehrt?Wann würden Sie InnoDB über MyISAM wählen und umgekehrt?Apr 25, 2025 am 12:22 AM

    Die Situationen bei der Auswahl von InnoDB anstelle von MyISAM umfassen: 1) Unterstützung der Transaktion, 2) hohe Genauigkeitsumgebung, 3) hohe Datenkonsistenz; Umgekehrt umfasst die Situation bei der Auswahl von MyISAM: 1) hauptsächlich Lesen von Operationen, 2) Es ist keine Transaktionsunterstützung erforderlich. InnoDB ist für Anwendungen geeignet, die eine hohe Datenkonsistenz und Transaktionsverarbeitung erfordern, z. B. E-Commerce-Plattformen, während MyISAM für lessintensive und transaktionsfreie Anwendungen wie Blog-Systeme geeignet ist.

    Erklären Sie den Zweck von Fremdschlüssel in MySQL.Erklären Sie den Zweck von Fremdschlüssel in MySQL.Apr 25, 2025 am 12:17 AM

    In MySQL besteht die Funktion von Fremdschlüssel darin, die Beziehung zwischen Tabellen herzustellen und die Konsistenz und Integrität der Daten zu gewährleisten. Fremdeschlüssel behalten die Wirksamkeit von Daten durch Referenzintegritätsprüfungen und Kaskadierungsvorgänge bei. Achten Sie auf die Leistungsoptimierung und vermeiden Sie bei der Verwendung häufige Fehler.

    See all articles

    Heiße KI -Werkzeuge

    Undresser.AI Undress

    Undresser.AI Undress

    KI-gestützte App zum Erstellen realistischer Aktfotos

    AI Clothes Remover

    AI Clothes Remover

    Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

    Undress AI Tool

    Undress AI Tool

    Ausziehbilder kostenlos

    Clothoff.io

    Clothoff.io

    KI-Kleiderentferner

    Video Face Swap

    Video Face Swap

    Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

    Heiße Werkzeuge

    DVWA

    DVWA

    Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

    WebStorm-Mac-Version

    WebStorm-Mac-Version

    Nützliche JavaScript-Entwicklungstools

    Herunterladen der Mac-Version des Atom-Editors

    Herunterladen der Mac-Version des Atom-Editors

    Der beliebteste Open-Source-Editor

    EditPlus chinesische Crack-Version

    EditPlus chinesische Crack-Version

    Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

    MinGW – Minimalistisches GNU für Windows

    MinGW – Minimalistisches GNU für Windows

    Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.