Heim >Datenbank >MySQL-Tutorial >Detaillierte Erläuterung der Gesamtstruktur von MySql

Detaillierte Erläuterung der Gesamtstruktur von MySql

coldplay.xixi
coldplay.xixinach vorne
2021-04-08 09:59:162325Durchsuche

Detaillierte Erläuterung der Gesamtstruktur von MySql

MySql-Gesamtstruktur

MySQL besteht aus Verbindungspool, SQL-Schnittstelle, Parser, Optimierer, Cache, Speicher-Engine usw. Es kann in drei Schichten unterteilt werden, nämlich MySQL-Serverschicht, Speicher-Engine-Schicht und Dateisystemschicht. Die MySQL-Server-Schicht umfasst die Verbindungsschicht und die SQL-Schicht. Das Folgende ist das Infrastrukturdiagramm von MySQL im offiziellen Dokument:

Detaillierte Erläuterung der Gesamtstruktur von MySql

In der obigen Abbildung ist der Verbindungspool die Verbindungsschicht, Verwaltungsdienste und Dienstprogramme ... Caches und Puffer sind die SQL-Schicht, Pluggable Storage Engines sind die Speicher-Engine-Schicht, Dateisystem, Dateien und Protokolle ist die Dateisystemschicht.

Connectoren gehören zu keiner der oben genannten Ebenen. Connectors können als verschiedene Clients und Anwendungsdienste verstanden werden, die sich hauptsächlich auf die Interaktion zwischen verschiedenen Sprachen und SQL beziehen.

Verwandte kostenlose Lernempfehlungen: MySQL-Video-Tutorial

1. Verbindungsschicht

Die Anwendung stellt über Schnittstellen (wie ODBC, JDBC) eine Verbindung zu MySQL her, und die erste Verbindungsverarbeitung ist die Verbindungsschicht . Die Verbindungsschicht besteht aus drei Teilen: Kommunikationsprotokoll, Thread-Verarbeitung sowie Benutzername- und Passwort-Authentifizierung.

  • Das Kommunikationsprotokoll ist dafür verantwortlich, zu erkennen, ob die Client-Version mit dem MySQL-Server kompatibel ist.
    -Thread-Verarbeitung bedeutet, dass jeder Verbindungsanforderung ein entsprechender Thread zugewiesen wird. Dies entspricht einem SQL, das einem Thread entspricht, einem Thread, der einer logischen CPU entspricht, und dem Umschalten zwischen mehreren logischen CPUs.
    – Mithilfe der Passwortauthentifizierung wird überprüft, ob das Konto, das vom Benutzer erstellte Passwort und die Host-Autorisierung eine Verbindung zum MySQL-Server herstellen können.

Connection Pool gehört zur Verbindungsschicht. Da das Herstellen einer Verbindung jedes Mal viel Zeit in Anspruch nimmt, besteht die Aufgabe des Verbindungspools darin, Benutzerverbindungen, Benutzernamen, Kennwörter, Berechtigungsüberprüfungen, Thread-Verarbeitung und andere Anforderungen zwischenzuspeichern, die beim nächsten Mal zwischengespeichert werden müssen Direkte Nutzung der bestehenden Verbindung. Verbessern Sie die Serverleistung.

2. SQL-Schicht

Die SQL-Schicht ist der Kern von MySQL, und die Kerndienste von MySQL sind in dieser Schicht implementiert. Es umfasst hauptsächlich Berechtigungsbeurteilung, Abfrage-Cache, Parser, Vorverarbeitung, Abfrageoptimierer, Cache und Ausführungsplan.

  • Mit der Berechtigungsbeurteilung kann überprüft werden, ob der Benutzer über die Berechtigung zum Zugriff auf eine bestimmte Bibliothek, eine bestimmte Tabelle oder eine bestimmte Datenzeile in der Tabelle verfügt.
  • Der Abfragecache funktioniert über den Abfragecache. Wenn sich die Daten im Abfragecache befinden, werden die Ergebnisse direkt an den Client zurückgegeben, ohne dass eine Abfrageanalyse, -optimierung und -ausführung erforderlich ist.
  • Der Abfrageparser analysiert die SQL-Anweisung, um festzustellen, ob die Syntax korrekt ist.
  • Der Präprozessor verarbeitet Semantik, die der Parser nicht analysieren kann.
  • Der Abfrageoptimierer schreibt die SQL entsprechend um und generiert den optimalen Ausführungsplan. Anschließend kann er die API-Schnittstelle des Programms aufrufen und über die Speicher-Engine-Ebene auf die Daten zugreifen.

Management Services & Utilities, SQL Interface, Parser, Optimizer und Caches & Buffers gehören zur SQL-Schicht, die Details sind in der Tabelle unten aufgeführt.

Name Beschreibung
Management Services & Utilities MySQL-Systemverwaltungs- und Kontrolltools, einschließlich Sicherung und Wiederherstellung, MySQL-Replikation, Clustering usw.
SQL-Schnittstelle (SQL-Schnittstelle) wird verwendet, um die SQL-Befehle des Benutzers zu empfangen und die Ergebnisse zurückzugeben, die der Benutzer abfragen muss. Beispielsweise ruft SELECT FROM die SQL-Schnittstelle auf.
Parser (Abfrageparser) Wenn der SQL-Befehl an den Parser übergeben wird, wird er vom Parser überprüft und analysiert, damit der MySQL-Optimierer die Datenstruktur erkennen oder Fehler für die SQL-Anweisung zurückgeben kann.
Optimizer (Abfrageoptimierer) SQL-Anweisungen verwenden den Abfrageoptimierer, um die Abfrage vor der Abfrage zu optimieren und gleichzeitig zu überprüfen, ob der Benutzer zur Abfrage berechtigt ist und ob die neuesten Daten im Cache verfügbar sind. Für die Abfrage wird eine „Select-Project-Join“-Strategie verwendet. Beispielsweise wählt die SELECT-Abfrage in der SELECT id, name FROM student WHERE gender = "女";-Anweisung zunächst gemäß der WHERE-Anweisung aus, anstatt alle Tabellen abzufragen und dann nach Geschlecht zu filtern. Die SELECT-Abfrage führt zunächst eine Attributprojektion basierend auf ID und Name durch, anstatt alle Attribute zu extrahieren und dann zu filtern, und verbindet diese beiden Abfragebedingungen, um das endgültige Abfrageergebnis zu generieren.
Caches und Puffer (Abfrage-Cache) Wenn der Abfrage-Cache ein Treffer-Abfrageergebnis hat, kann die Abfrageanweisung Daten direkt aus dem Abfrage-Cache abrufen. Dieser Caching-Mechanismus besteht aus einer Reihe kleiner Caches, z. B. Tabellen-Cache, Datensatz-Cache, Schlüssel-Cache, Berechtigungs-Cache usw.

3. Speicher-Engine-Schicht

Pluggable Storage Engines gehören zur Speicher-Engine-Schicht. Die Speicher-Engine-Schicht ist der Kernpunkt, der die MySQL-Datenbank von anderen Datenbanken unterscheidet, und sie ist auch der markanteste Ort von MySQL. Hauptverantwortlich für die Speicherung und den Abruf von Daten in MySQL.

Da in einer relationalen Datenbank Daten in Form einer Tabelle gespeichert werden, kann die Speicher-Engine auch als Tabellentyp bezeichnet werden (d. h. die Art der Speicherung und Funktionsweise dieser Tabelle

4). Schicht

Die Dateisystemschicht speichert hauptsächlich die Datenbankdaten im Dateisystem des Betriebssystems und schließt die Interaktion mit der Speicher-Engine ab.

Die Dateisystemschicht speichert hauptsächlich die Datenbankdaten im Dateisystem des Betriebssystems und schließt die Interaktion mit der Speicher-Engine ab.

Weitere verwandte kostenlose Lernempfehlungen: MySQL-Tutorial(Video)

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Gesamtstruktur von MySql. 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