Heim  >  Artikel  >  Datenbank  >  Eine kurze Diskussion über die Geschichte und Architektur der MySQL-Prinzipien und -Optimierung (1)

Eine kurze Diskussion über die Geschichte und Architektur der MySQL-Prinzipien und -Optimierung (1)

藏色散人
藏色散人nach vorne
2019-05-09 09:47:582273Durchsuche

MySQL ist derzeit die am weitesten verbreitete Datenbanksoftware (DBMS) unter Internetunternehmen. So kleine Startups wie BAT, GOOGLE und FACEBOOK nutzen MySQL als Datenspeicher in ihren Unternehmen. Alibaba Cloud bietet auch eine Cloud-Version von MySQL – Cloud Database RDS MySQL-Version. Diese Artikelserie soll jedem helfen, MySQL besser zu verstehen, die Leistung der Datenbank besser zu nutzen und unsere Datenspeicherung effizienter zu gestalten.

Eine kurze Diskussion über die Geschichte und Architektur der MySQL-Prinzipien und -Optimierung (1)

Geschichte von MySQL

MySQL ist eine Open-Source-freie Software, deren Quellcode wir direkt online erhalten können. Bisher hat MySQL eine mehr als 20-jährige Geschichte hinter sich:

● 1996 wurde MySQL 1.0 veröffentlicht, das nur einer kleinen Gruppe von Menschen zur Verfügung stand. Im Oktober 1996 wurde MySQL 3.11.1 veröffentlicht (MySQL hat keine 2.x-Version) und zunächst nur eine Binärversion unter Solaris bereitgestellt. Einen Monat später erschien eine Linux-Version. Im Laufe der nächsten zwei Jahre wurde MySQL nacheinander auf verschiedene Plattformen portiert.

● Von 1999 bis 2000 wurde MySQL AB in Schweden gegründet und entwickelte die Berkeley DB-Engine. Da BDB die Transaktionsverarbeitung unterstützt, begann MySQL von da an, die Transaktionsverarbeitung zu unterstützen.

● 2001 V3.23: MyISAM-Engine und Prototyp der Innodb-Engine

● 2003 V4.0: Neue Syntaxfunktionen, Innodb wird zur Standardkomponente, query_cache wird hinzugefügt

● V5.0 im Jahr 2006: Ansichten, Trigger, gespeicherte Prozeduren und andere Funktionen wurden hinzugefügt

● V5.1 im Jahr 2008: Partitionierung, Zeilenreplikation

● V5.5 im Jahr 2010: Innodb wurde Standard-Engine, halbsynchrone Replikation

● V5.6 Innodb-Verbesserungen, Replikationsfunktionen und andere Verbesserungen

● V5.7 fügt neue Speicher-Engines wie mariaDB hinzu

MySQL Die Systemarchitektur

MySQL ist nicht dasselbe wie die Datenbank derselben Zeit, sondern nimmt eine eigene einzigartige Architektur an. Wir können diese Struktur anhand eines berühmten Gedichts des Dichters Du Mu aus der Tang-Dynastie verstehen:

长安回望绣成堆,山顶千门次第开。 一骑红尘妃子笑,无人知是荔枝来。

Es gibt drei Rollen darin:

Eine kurze Diskussion über die Geschichte und Architektur der MySQL-Prinzipien und -Optimierung (1)

● Konkubine : Verantwortlich für die Beantragung von Litschis

Minister : Verantwortlich für die Organisation der Litschisernte, den einzuschlagenden Weg, die Ausstellung offizieller Dokumente usw.

Kurier : Verantwortlich für die Lieferung von Litschis

Dies entspricht den drei Rollen in der MySQL-Architektur: Client, Verarbeitungs-Engine, Ausführungs-Engine

Eine kurze Diskussion über die Geschichte und Architektur der MySQL-Prinzipien und -Optimierung (1)

Die Verwendung des Architekturdiagramms zum Ausdrücken ist wie folgt

Eine kurze Diskussion über die Geschichte und Architektur der MySQL-Prinzipien und -Optimierung (1)

● Kunde

Die Rolle entspricht der Konkubine : Benutzerbetrieb Der Client stellt Anfragen zum Abfragen, Ändern, Hinzufügen und Löschen von Daten

● Verarbeitungsmaschine

Die Verarbeitungsmaschine entspricht der Rolle eines Ministers. Verantwortlich für das Parsen von SQL-Anweisungen und die Erstellung eines Ausführungsplans. Darüber hinaus ist es auch für die folgenden Verantwortlichkeiten verantwortlich, auf die wir bei der Optimierung achten können:

• Verantwortlich für die Verwaltung von Verbindungen und Threads: Bei Verwendung eines Multithreading-Modells kann durch Festlegen von thread_cache_size vorhandene Threads genutzt werden

• Verantwortlich für die Verwaltung des Abfragecaches: Verwenden Sie vorgefertigte Ergebnisse, um die Ergebnismenge direkt zwischenzuspeichern. Beim Testen der Anweisungsleistung müssen Sie den Hinweis „sql_no_cache“ verwenden, um die

● Speicher-Engine

Die Speicher-Engine entspricht der Expresszustellung. Die Rolle des Administrators ist für die tatsächliche Speicherung von Daten sowie für das Lesen, Ändern und andere Vorgänge von Daten verantwortlich. Verschiedene Speicher-Engines weisen in der tatsächlichen Ausführung unterschiedliche Eigenschaften auf. Dies wird in einem späteren Artikel ausführlich vorgestellt.

Zusammenfassend ist dies ein Überblick über die MySQL-Architektur. Ich hoffe, dass er für alle hilfreich sein wird.

Das obige ist der detaillierte Inhalt vonEine kurze Diskussion über die Geschichte und Architektur der MySQL-Prinzipien und -Optimierung (1). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:aliyun.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen