Heim  >  Artikel  >  Datenbank  >  Einführung in die Speicher-Engine und das Architektur-Tutorial in MySQL

Einführung in die Speicher-Engine und das Architektur-Tutorial in MySQL

零下一度
零下一度Original
2017-05-12 11:03:26969Durchsuche

MySQL-Architektur und Speicher-Engine


1.1 Datenbank und Instanz definieren

Datenbank: frm, MYD, MYI, ibd, Dateien mit der Endung bei Verwendung der NDB-Engine , wird die Datenbankdatei im Speicher abgelegt
Beispiel: bestehend aus Hintergrundthreads und gemeinsam genutztem Speicher. Gemeinsam genutzter Speicher kann im Hintergrund zur gemeinsamen Nutzung ausgeführt werden, und die Datenbankinstanz betreibt die Datenbank tatsächlich.
Die Beziehung zwischen Instanzen und Datenbanken ist eine Eins-zu-Eins-Entsprechung.
MySql ist eine Einzelprozess-Multithread-Datenbank mit Architektur , und die Instanz verhält sich wie ein Prozess im System.
Es ähnelt der Parameterdatei spfile von Oracle, aber im Gegensatz zu Oracle schlägt die Datenbank beim Starten der Instanz fehl, wenn keine Parameterdatei vorhanden ist.


1.2 MySQL-Zusammensetzung:
Verbindungspoolkomponente
Komponenten für Verwaltungsdienste und Tools
SQL-Schnittstellenkomponente
Komponente des Abfrageanalysators
Komponenten optimieren
Cache-Komponente
Plug-in-Speicher-Engine
physische Datei
Die Speicher-Engine basiert auf einer Tabellenstruktur, nicht auf einer Datenbank


1.3MySQL-Speicher-Engine
Vordefinierte MySQL-Speicher-Engine-Schnittstelle zum Schreiben Ihrer eigenen Speicher-Engine
InnoDB-Speicher-Engine
Unterstützt Dinge. Das Designziel ist hauptsächlich für Online-Transaktionsverarbeitungsanwendungen vorgesehen. Es unterstützt Fremdschlüssel und unterstützt nicht sperrende Lesevorgänge, ähnlich wie bei Oracle. Standardmäßig werden bei Lese- und Schreibvorgängen keine Sperren generiert.
Die Speicher-Engine-Tabelle wird in einem logischen Tabellenbereich platziert und in einer unabhängigen ibd-Datei platziert.
Für die Speicherung in der Tabelle wird ein Aggregationsansatz gewählt
MyISAM-Speicher-Engine
Unterstützt keine Dinge, Tabellendesign, unterstützt den Volltext Index . Für einige OLAP-Datenbankanwendungen
Der Pufferpool speichert nur einige Indexdateien zwischen und puffert keine Datendateien
Die Engine-Tabelle besteht aus MYD und MYI zum Speichern von Datendateien und MYI zum Speichern von Indexdateien. Sie können das Tool myismpack verwenden, um die Dateien weiter zu komprimieren.
NDB-Engine
Es handelt sich um eine Cluster-Speicher-Engine. Alle Daten werden im Speicher abgelegt und die Geschwindigkeit der Primärschlüsselsuche ist extrem hoch.
Und durch das Hinzufügen von NDB-Datenspeicherknoten wird die Datenbankleistung linear verbessert, wodurch ein hochverfügbares und leistungsstarkes Clustersystem entsteht.
Speicher-Engine
Die Daten in der Tabelle werden im Speicher gespeichert. Wenn die Datenbank neu gestartet wird oder abstürzt, verschwinden alle Daten in der Tabelle. Geeignet zur Aufbewahrung temporärer Tische
Standardmäßig wird ein Hash-Index verwendet, kein B+-Baumindex.
Es werden nur Tabellensperren unterstützt und die Parallelitätsleistung ist relativ schlecht.
Archivspeicher-Engine
Verwenden Sie den Zlib-Algorithmus zur Komprimierung und Speicherung. Sehr gut geeignet zum Speichern übermäßiger Daten, z. B. Protokollinformationen
Verwenden Sie Zeilensperren, um hochgradig gleichzeitige Einfügevorgänge zu implementieren
Bietet hauptsächlich Hochgeschwindigkeits-Einfüge- und Komprimierungsfunktionen.
Verbundspeicher-Engine
Die Engine-Tabelle speichert keine Daten, sondern verweist nur auf einen MySQL-Datenbankserver. Sie unterstützt keine Tabellen heterogener Datenbanken.
Maria-Speicher-Engine
Ersetzt die ursprüngliche MyiSAM-Speicher-Engine und wird zur Standard-Engine von MySQL
Unterstützt zwischengespeicherte Daten und Indexdateien, wendet das Zeilensperrdesign an, stellt MVCC-Funktionen bereit und unterstützt Transaktions- und Nicht-Transaktionssicherheitsoptionen
Fragen Sie die von der MySQL-Datenbank unterstützten Speicher-Engines über Show-Engines ab


1.4 Mysq verbinden
Es handelt sich um einen Verbindungsprozess, der mit der MySQL-Datenbankinstanz kommuniziert.
Häufig verwendete Kommunikationsmethoden: Pipes, Named Pipes, Named Names, TCP/IP-Sockets, UNIX-Domänen-Sockets
TCPIP:
mysql -h192.168.0.0.1 -u david -p
MySQL prüft eine Berechtigungsansicht , um festzustellen, ob die angeforderte IP eine Verbindung zur MySQL-Instanz herstellen darf. Die Tabelle ist Benutzer Benannte Pipes und gemeinsam genutzter Speicher
Starten Sie --enable>name-pipe in der MySQL
Konfigurationsdatei Stellen Sie gemeinsam genutzten Speicher bereit. Fügen Sie in der Konfigurationsdatei die Implementierung --shard-Memory hinzu
UNIX-Socket
mysql -udavid -S /tmp/mysql.sock

[Verwandte Empfehlungen]

1.

Kostenloses MySQL-Online-Video-Tutorial

2.

Neuestes MySQL-Handbuch-Tutorial

3. Dinge zum Datenbankdesign

Das obige ist der detaillierte Inhalt vonEinführung in die Speicher-Engine und das Architektur-Tutorial in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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