laptop with text mysql 8 on it, purple background

Upgrade auf MySQL 8 auf allen SiteGround Servern

Vor einigen Wochen haben wir auf unseren Servern ein Upgrade auf MySQL 8 durchgeführt. Dies war das Ergebnis eines langen Prozesses der Überwachung und Prüfung der Kompatibilität dieser Version mit den Websites unserer Kunden, bis wir zu dem Schluss kamen, dass MySQL 8 mit den wichtigsten Anwendungen, die auf unserer Plattform gehostet werden, in hohem Maße kompatibel ist und ein Umstieg sicher ist.

MySQL ist eine grundlegende Software in unserem Stack, die von der großen Mehrheit unserer Kunden für den Betrieb ihrer Datenbanken verwendet wird. Sein optimales Funktionieren hat einen großen Einfluss auf die Gesamtleistung und Verfügbarkeit der Website. Aus diesem Grund widmet das SiteGround-Team viele Ressourcen der Optimierung und Anpassung unseres MySQL, immer mit dem Ziel, eine immer bessere Leistung zu erzielen. Um dieses Ziel im Laufe der Jahre zu erreichen, haben wir verschiedene Anpassungen eingeführt, wie z.B. unser einzigartiges MySQL-Setup, und wir planen und testen jede neue MySQL-Version sorgfältig, um sicherzustellen, dass die Vorteile die potenziellen Schäden, die ein solches Upgrade mit sich bringen könnte, überwiegen. Wir sind nun zuversichtlich, dass die MySQL-Version 8 weitgehend kompatibel ist und unsere Kunden die Vorteile der verbesserten Datenbankleistung, Skalierbarkeit und Codierungsoptimierungen, die sie mit sich bringt, sicher nutzen können.

Wie sieht der Plan für das MySQL-Update aus?

Zunächst möchten wir darauf hinweisen, dass alle neuen Websites, die auf unseren geteilten Servern erstellt werden, und alle neu erstellten Cloud-Konten jetzt standardmäßig mit MySQL 8 ausgestattet sind.

Zweitens ist der Migrationsprozess auf MySQL 8 für bestehende geteilte Websites bereits im Gange. Sobald unsere gemeinsam genutzten Server aktualisiert sind, werden wir auch mit der Aktualisierung der Cloud-Instanzen beginnen. Dieser Prozess wird in den nächsten Monaten fortgesetzt. Unserem Zeitplan zufolge planen wir, alle unsere Kunden bis Ende Juni dieses Jahres auf MySQL 8 zu migrieren.

Um den Übergang für Sie so einfach und reibungslos wie möglich zu gestalten, senden wir Ihnen mindestens eine Woche im Voraus E-Mails, um Sie darüber zu informieren, an welchen Tagen genau wir Ihre Website auf MySQL 8 umstellen werden. Der Umstellungsvorgang wird spät in der Nacht durchgeführt, wenn der Datenverkehr auf dem Server minimal ist. Während der Aktualisierung der Software kann es zu einer kurzen Serviceunterbrechung kommen. Von Ihrer Seite sind keine Maßnahmen im Zusammenhang mit der Migration erforderlich.

Was ist neu in MySQL 8?

MySQL 8 führt eine Vielzahl neuer Funktionen und Verbesserungen alter Funktionalitäten ein, die alle darauf abzielen, die Gesamtleistung und Skalierbarkeit sowie die Entwicklerfreundlichkeit zu verbessern. Hier sind einige der bemerkenswertesten Neuerungen.

Bessere Leistung und Skalierbarkeit

MySQL 8 bietet eine bessere Leistung und Skalierbarkeit. Benchmark–Tests zeigen, daß MySQL 8 im Vergleich zu MySQL 5.7 bessere Ergebnisse in Bezug auf Leistung und Skalierbarkeit erzielt. Die Tests zeigen, daß MySQL 8 Lese- und Schreiboperationen viel besser handhabt und die Anzahl der verarbeiteten Transaktionen viel höher ist.

Außerdem zeigen die Tests, daß MySQL 8 die Hardware im Vergleich zu 5.7 wesentlich besser ausnutzt.

Hier sind einige der Verbesserungen, die dies möglich machen:

  • Skalierung von Lese-/Schreib-Arbeitslasten

MySQL 8 zeigt eine bessere Leistung bei intensiven Lese-/Schreibvorgängen und eine mehr als zweifach bessere Leistung bei hohen Lasten im Vergleich zu MySQL 5.7.

  • Bessere Leistung bei stark umkämpften Lasten

Die Performance bei stark konkurrierenden Arbeitslasten wurde in MySQL 8 deutlich verbessert. Eine Hochkonfliktlast tritt auf, wenn mehrere Transaktionen auf eine Sperre für dieselbe Zeile in einer Tabelle warten, was zu Warteschlangen von wartenden Transaktionen führt.

In MySQL 8 werden solche Bursts in Bezug auf die Anzahl der Transaktionen pro Sekunde und die Latenzzeit wesentlich besser bewältigt. Dies führt zu einer besseren Hardwareauslastung (Effizienz), da das System weniger freie Ressourcen benötigt und somit mit einer höheren durchschnittlichen Auslastung arbeiten kann.

  • Native Partitionierung/InnoDB-Pool-Erweiterung

MySQL 8 unterstützt die native Aufteilung für die InnoDB-Engine. Damit können Sie große Tabellen in kleinere Teilen aufteilen. Dies kann die Abfrageleistung verbessern und den Speicherbedarf verringern, insbesondere bei großen Tabellen. Mit der neuen MySQL-Version werden auch Verbesserungen des InnoDB-Pools eingeführt. Der Pool ist für die Zwischenspeicherung der Daten und die Reduzierung der E/A-Operationen zuständig.

  • Gemeinsame Tabellenausdrücke (CTEs)

Mit der neuesten Version von MySQL 8 können Sie nun auch die Vorteile von gemeinsamen Tabellenausdrücken nutzen. Ein gemeinsamer Tabellenausdruck ist eine Ergebnismenge, die nur vorübergehend während der Ausführung einer Anweisung existiert und später in derselben Anweisung verwendet werden kann.

Diese CTEs ermöglichen die Erstellung komplexerer Abfragen durch die Verwendung einfacherer Blöcke, die auf temporären Tabellen basieren. Mit anderen Worten: Gemeinsame Tabellenausdrücke ermöglichen die Verwendung von benannten temporären Ergebnismengen.

  • Änderung des Standardzeichens

Das Standardzeichen in MySQL 8 wurde auf utf8mb4 geändert.

Einer der bemerkenswertesten Unterschiede zwischen utf8, utf8mb3 und utf8mb4 ist die maximale Anzahl von Bytes pro Zeichen. Während utf8 und utf8mb3 nur Zeichen in der BMP (Basic Multilingual Plane) von Unicode speichern können, kann utf8mb4 Zeichen in der Supplementary Plane speichern. utf8mb4 unterstützt eine Vielzahl von Zeichen, einschließlich Emojis und anderer Sonderzeichen.

Unsichtbare Indizes

Eine weitere neue Funktion in MySQL 8 sind die unsichtbaren Indizes. Im Allgemeinen werden Indizes vom MySQL-Abfrageoptimierer verwendet, um die Geschwindigkeit zu verbessern, mit der Daten abgerufen werden, während unsichtbare Indizes diejenigen sind, die vor dem MySQL-Abfrageoptimierer verborgen sind und es ermöglichen, das Entfernen eines Indexes auf die Abfrageleistung zu testen, ohne eine zerstörerische Änderung vorzunehmen.

Wenn Sie zum Beispiel mit einer sehr großen Tabelle mit einigen Indizes arbeiten und diese weiter optimieren wollen, indem Sie bestimmte Indizes entfernen und neue hinzufügen. Stellen Sie sich vor, Sie wissen, dass Sie diese Indizes in der Zukunft brauchen werden. Sie von vornherein zu entfernen, könnte gefährlich sein, denn sie später wieder aufzubauen, kostet viele Ressourcen. Um dies zu vermeiden, können Sie jetzt einfach unsichtbare Indizes verwenden – machen Sie einige vorhandene Indizes zu unsichtbaren Indizes, testen Sie mit den neuen Indizes, was Sie brauchen, und holen Sie sie bei Bedarf zurück, indem Sie sie wieder sichtbar machen.

Warum ist jetzt der richtige Zeitpunkt für eine Umstellung?

Da es sich bei MySQL um eine so grundlegende Technologie handelt, erfolgen größere Aktualisierungen selten und es dauert lange, bis sie allgemein angenommen werden. MySQL 8 wurde erstmals 2018 veröffentlicht, aber es dauerte mehrere Jahre, bis die meisten Websites und die ihnen zugrunde liegenden Anwendungen damit kompatibel waren. Wir haben den Stand der Kompatibilität ständig überwacht und uns für den aktuellen Aktualisierungszeitpunkt entschieden, da wir festgestellt haben, dass das Risiko, eine Website mit dem Upgrade negativ zu beeinflussen, nun deutlich geringer geworden ist. Seit dem Beginn der Aktualisierung vor einigen Wochen haben wir bereits Hunderttausende von Websites nahtlos auf MySQL 8 umgestellt.

Daniel Kanchev

Produkt- und Tech-Lead

Daniel ist dafür verantwortlich, neue Produkte bei SiteGround zum Leben zu erwecken. Dazu gehört die Bewältigung aller Arten von Aufgaben und die Kommunikation über mehrere Teams hinweg. Begeistert von Technologie, Benutzererfahrung, Sicherheit und Leistung, wird es nie langweilig für Sie in seiner Nähe zu sein. Er ist auch gelegentlich Redner bei Veranstaltungen und ein Reiseliebhaber.

Starten Sie die Diskussion

Ähnliche Posts