Heim  >  Artikel  >  Datenbank  >  Verstehen Sie die MySQL-Architektur

Verstehen Sie die MySQL-Architektur

coldplay.xixi
coldplay.xixinach vorne
2021-01-05 09:20:432081Durchsuche

MySQL-Video-Tutorial In der Spalte „MySQL-Architektur“ wird die MySQL-Architektur vorgestellt. Empfohlen (kostenlos): MySQL-Video-Tutorial.

Die MySQL-Architektur ist hauptsächlich in zwei Teile unterteilt: Client und Server

Verstehen Sie die MySQL-Architektur

Client Der Client-Connector ist hauptsächlich für die Verbindung einiger Clients verantwortlich und stellt Verbindungsdienste für verschiedene Programmiersprachentreiber bereit.

Serverseite

Die Serviceschicht umfasst: Systemverwaltungs- und Kontrolltools, Verbindungspool, SQL-Schnittstelle, Parser, Abfrageoptimierer, Cache.

Verstehen Sie die MySQL-Architektur

Verbindungspool ist für die Verwaltung der Verbindung zwischen dem Client und der Datenverarbeitung auf Service-Ebene sowie für die Überprüfung der Berechtigung des Benutzers zur Ausführung von Vorgängen verantwortlich.

Systemverwaltungs- und Kontrolltools

Verantwortlich für Backup-Sicherheit, Sicherheitsmanagement, Cluster-Management-Dienste und -Tools usw.

SQL-Schnittstelle

empfängt Client-SQL-Befehle und gibt die vom Benutzer benötigten Ergebnisse zurück. Zum Beispiel: DML, DDL, gespeicherte Prozeduren, Ansichten, Trigger und andere Befehle.

  • Parser

    Wortanalyse (Schlüsselwortanalyse), Syntaxanalyse, SQL empfangen, analysieren, Analysebaum generieren und Syntaxüberprüfung durchführen.

  • Abfrageoptimierer: Nach der Generierung des Analysebaums und der Übergabe der Parser-Grammatik wählt der Optimierer einen geeigneten Index aus, generiert dann einen Ausführungsplan und interagiert dann mit der Ausführungs-Engine.


  • Caching
  • Der Caching-Mechanismus besteht aus einer Reihe von Caches.

    Zum Beispiel: Tabellencache, Datensatzcache (SQL-Abfrageergebnisse werden zwischengespeichert und für die nächste gleiche SQL-Abfrage aus dem Cache zurückgegeben),
    Berechtigungscache, Engine-Cache usw. Bei einem Cache-Treffer werden die Daten direkt aus dem Cache abgerufen.

  • Speicher-Engine-Schicht
    Verantwortlich für das Lesen und Zugreifen auf MySQL-Daten wie InnoDB, MyISAM usw. Steckbar, unterschiedliche Speicher-Engines können ausgetauscht werden.

  • Systemdateischicht

    wie Protokolle, Datendateien usw.


  • Ein SQL-Ausführungsprozess


  • Zuerst stellt der Client eine Verbindung her.
  • Zweitens überprüfen Sie die Benutzerberechtigungen und andere Vorgänge im Verbindungsmanager der Serverebene Version, es wird den Cache des aktuellen SQL im Cache-Pool überprüfen und ihn direkt zurückgeben, wenn er nicht im Cache ist, wird durch die Parser-Syntax und -Semantik ein Analysebaum generiert;

    Der Optimierer analysiert und generiert den Ausführungsplan und wählt den entsprechenden Index aus.

    Speicher Die Engine ruft die API-Schnittstelle auf, um die Daten abzufragen, und aktualisiert den Cache-Cache mit den abgefragten Daten.

Speicher-Engine-Schicht

Die Speicher-Engine ist ein Subsystem in MySQL, das sich speziell mit Dateien befasst und auf einem vom Dateisystem abstrahierten System für den Umgang mit MySQL und Festplattendateien basiert. Verstehen Sie die MySQL-Architektur Häufig verwendete Speicher-Engines, MyISAM, InnoDB das unterstützt Transaktionen;

  • Vor MySQL 5.6 ist die Standardspeicher-Engine MyISAM;
  • Funktionsvergleich
  • InnoDB unterstützt 4 Funktionen von ACID Transaktionen, aber MyISAM unterstützt es nicht;
  • InnoDB unterstützt 4 Transaktionsisolationsstufen, die Standardeinstellung ist wiederholbares Lesen. Wiederholbares Lesen, MyISAM unterstützt es nicht;

InnoDB unterstützt es nicht;

InnoDB unterstützt Fremdschlüssel, MyISAM jedoch nicht.

  • InnoDB unterstützt die Sperrgranularität auf Zeilenebene, aber nur die Sperrgranularität auf Tabellenebene MVCC, MyISAM unterstützt es nicht

Das obige ist der detaillierte Inhalt vonVerstehen Sie die MySQL-Architektur. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen