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:
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.
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.
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!