1. Datenbanken und Datenbankinstanzen Beim Studium von MySQL gibt es zwei Konzepte, die sehr leicht verwechselt werden können, nämlich Datenbank und Datenbankinstanz. In MySQL werden Datenbanken und Datenbankinstanzen wie folgt definiert: Datenbank: eine Sammlung gespeicherter Daten; Datenbankinstanz: Eine Sammlung operativer Datenbanken. Die obige Definition ist sehr klar. Die Datenbank wird zum Speichern von Daten verwendet, und die Datenbankinstanz wird zum Bearbeiten der Daten verwendet. Aus Sicht des Betriebssystems wird die Datenbankinstanz als Prozess dargestellt, der mehreren Threads entspricht. In einer nicht-clusterbasierten Datenbankarchitektur besteht eine Eins-zu-eins-Entsprechung zwischen einer Datenbank und einer Datenbankinstanz. In einem Datenbankcluster können mehrere Datenbankinstanzen eine Datenbank betreiben, d. h. es besteht eine Viele-zu-eins-Beziehung. 2. MySQL-Gerüst Obwohl MySQL mehrere Versionsiterationen durchlaufen hat (MySQL5.5, MySQL 5.6, MySQL 5.7, MySQL 8), basiert jede Iteration auf MySQL Das MySQL-Gerüst umfasst im Allgemeinen die folgenden Hauptmodulkomponenten: (1) MySQL stellt externe interaktive Schnittstellen (Connectors) bereit (2) Verwaltungsdienstleistungen und Dienstprogramme (3) Verbindungspool (4) SQL Schnittstelle (5) Query Analyzer-Komponente (Parser) (6) Optimizer-Komponente (7) Caches und Puffer (8) Steckbare Speicher-Engines (9) Physische Datei (Dateisystem) (I) MySQL stellt externe interaktive Schnittstellen (Connectors) zur Verfügung Die Connectors-Komponente ist eine interaktive Komponente, die von MySQL bereitgestellt wird. Sprachen wie Java, .net und PHP können diese Komponente verwenden, um SQL-Anweisungen auszuführen und mit SQL zu interagieren. 2. Verwaltungsservice und Dienstprogramme Bietet integrierte Verwaltung von MySQL, wie etwa Sicherung, Wiederherstellung, Sicherheitsverwaltung usw. (III) Verbindungspool Verantwortlich für die Überwachung verschiedener Anfragen vom Client an den MySQL-Server, den Empfang von Anfragen und die Weiterleitung von Anfragen an das Zielmodul. Jede Client-Anfrage, die erfolgreich eine Verbindung zum MySQL-Server herstellt, wird Erstellen oder weisen Sie einen Thread zu, der für die Kommunikation zwischen dem Client und dem MySQL-Server verantwortlich ist, vom Client gesendete Befehle empfängt und Ergebnisinformationen vom Server überträgt. (IV) SQL-Schnittstelle Empfangen Sie SQL-Benutzerbefehle wie DML, DDL und gespeicherte Prozeduren und geben Sie die Endergebnisse an den Benutzer zurück. (V) Abfrageanalysekomponente (Parser) Zunächst wird die Rechtmäßigkeit der SQL-Befehlssyntax analysiert und versucht, den SQL-Befehl in eine Datenstruktur zu zerlegen. Wenn die Zerlegung fehlschlägt, deutet dies darauf hin, dass die SQL-Anweisung nicht sinnvoll ist. (VI) Optimierer Optimieren und analysieren Sie SQL-Befehle nach Standardverfahren. 7. Caches und Puffer Cache- und Pufferkomponenten MySQL-Speicher-Engine 1. Was ist die MySQL-Speicher-Engine? MySQL ist eine relationale Datenbank. Die Speicherung relationaler Datenbanken erfolgt in Tabellenform. Das Erstellen von Tabellen sowie das Speichern, Abrufen und Aktualisieren von Daten wird alles von MySQL durchgeführt. Dies wird von der Speicher-Engine erledigt, und die MySQL-Speicher-Engine spielt auch in MySQL eine wichtige Rolle. Leser, die sich mit SQL Server und Oracle beschäftigt haben, wissen möglicherweise, dass diese beiden Datenbanken nur eine Speicher-Engine haben, während MySQL über mehrere Arten von Speicher-Engines verfügt, wie z. B. MyISAM-Speicher Engine, InnoDB-Speicher-Engine und Memory-Speicher-Engine. Der Grund, warum MySQL über mehrere Speicher-Engines verfügt, liegt in der Open-Source-Natur von MySQL. MySQL-Speicher-Engines können grob in offizielle Speicher-Engines und Speicher-Engines von Drittanbietern unterteilt werden. Wird durch quadratische Lagerung verursacht. Der Open-Source-Charakter von MySQL ermöglicht es Dritten, auf der Grundlage des MySQL-Frameworks Speicher-Engines zu entwickeln, die ihren Geschäftsanforderungen entsprechen. 2. MySQL-Speicher-Engine-Funktion Die MySQL-Speicher-Engine spielt in MySQL eine wichtige Rolle. Ihre Rolle lässt sich hauptsächlich in den folgenden zwei Aspekten zusammenfassen: Funktion 1: Tabellenerstellung, Datenabruf, Indexerstellung usw. verwalten. Funktion 2: Erfüllen Sie die Anforderungen der benutzerdefinierten Speicher-Engine-Entwicklung. 3. MySQL-Engine-Typen Verschiedene Arten von Speicher-Engines verfügen über unterschiedliche Speicher-Engine-Tabellenmechanismen beim Speichern von Tabellen. In Bezug auf die MySQL-Speicher-Engine-Typen können sie in offizielle Speicher-Engines und Speicher-Engines von Drittanbietern unterteilt werden. Derzeit gibt es auch viele MySQL-Speicher-Engines, wie z. B. MyISAM-Speicher-Engine, InnoDB-Speicher-Engine, NDB-Speicher-Engine, Archiv-Speicher-Engine, Federated-Speicher-Engine, Memory Speicher-Engine, Merge-Speicher-Engine, Partner-Speicher-Engine, Community-Speicher-Engine, benutzerdefinierte Speicher-Engine und andere Speicher-Engines. Zu den am häufigsten verwendeten Speicher-Engines gehören die InnoDB-Speicher-Engine, die MyISAM-Speicher-Engine und die Momery-Speicher-Engine. 4. Vergleich mehrerer typischer MySQL-Speicher-Engines 9. Physische Dateien (Dateisystem) Das System, das tatsächlich MySQL-Datenbankdateien und einige Protokolldateien speichert, wie z. B. Linux, Unix, Windows usw. Flussdiagramm mit drei Abfragen 4. Referenzen [01] The Definitive Guide to MySQL (US) von Paul Dubois, übersetzt von Yang Tao, Yang Xiaoyun, Wang Qun usw. 【02】MySQL Technical Insider: InnoDB-Speicher-Engine von Jiang Chengyao 【03】SQL-Lernhandbuch von Alan Beaulieu Das könnte Sie auch interessieren:
|
>>: Wie Sie React forwardRef verwenden und was Sie beachten müssen
Wenn der Umfang der Docker-Bereitstellung zunimmt...
Inhaltsverzeichnis Hintergrund Was ist Tablespace...
Wenn Docker einen Container startet, gibt es den ...
Vorwort: Ich habe das geschrieben, weil ich meine...
Vorwort Standardmäßig initialisiert MySQL einen g...
Autor | Herausgeber Awen | Produziert von Tu Min ...
1. Übergeordnete Komponenten können Props verwend...
Heute wurde ich gefragt, wozu das Zoom-Attribut i...
1. Warum diesen Artikel schreiben? Sie haben sich...
Deshalb führen wir ein Einbettungsframework ein, u...
Benutzer- und Gruppenverwaltung 1. Grundlegende K...
Angenommen, es gibt zwei Linux-Server A und B, un...
Bei der täglichen Arbeit stoßen wir möglicherweis...
Inhaltsverzeichnis Warum react-beautiful-dnd wähl...
Bei der Arbeit an mobilen Seiten werden in letzte...