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

Verstehen Sie die MySQL-Architektur

coldplay.xixi
Freigeben: 2021-01-05 09:20:43
nach vorne
2143 Leute haben es durchsucht

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!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage