DDEV 1.24.2 mit MySQL Performance-Optimierungen

Es ist schon wieder eine Woche her und ich komme erst jetzt dazu mal wieder etwas zu ddev zu schreiben. Es wurde die Version 1.24.2 veröffentlicht.

Was sind wichtige Neuerungen DDEV 1.24.2?

Die entscheidenden Performance-Optimierungen in DDEV 1.24.2 sind:

  1. Unterstützung von MySQL 8.4: DDEV wird die neueste LTS-Version von MySQL unterstützen, die zahlreiche Verbesserungen und neue Features bietet. Dies wird die Grundlage für weitere Performance-Optimierungen bilden.

  2. Verbesserte Importgeschwindigkeit für MySQL 8.0: Die Importleistung für MySQL 8.0 ist um etwa 30 % besser als in der vorherigen Version 1.24.1. Dies bedeutet, dass große Datenbank-Importe wesentlich schneller verarbeitet werden, was insbesondere für Entwickler mit umfangreichen Datenbanken von Vorteil ist.

  3. Umstieg auf Bitnami MySQL-Images: Um die Wartung zu vereinfachen, nutzt DDEV nun Bitnami MySQL-Images als Basis. Dies führt zu einer besseren Unterstützung, insbesondere für ARM64-Architekturen.

  4. Vereinfachte der Wartung für XtraBackup: DDEV hat seine eigene Version von Percona XtraBackup, die zuvor manuell erstellt wurde eingestellt. Der Grund dafür ist, dass Percona nun offizielle ARM64-Versionen bereitstellt. Dies vereinfacht die Nutzung des Snapshot-Features von DDEV erheblich.

  5. Datenbank-Performance-Repository: Ein neues Repository ermöglicht es Entwicklern, die Importgeschwindigkeiten über verschiedene DDEV-Versionen und Datenbanktypen hinweg zu vergleichen.

  6. Tests für Quickstarts: Einige Quickstart (siehe ddev Dokumentation) werden nun getestet. Magento ist noch nicht dabei. Aber es ist ein Anfang gemacht. https://github.com/ddev/ddev/tree/main/docs/tests

  7. ddev Kommandos im Container: Wer gerne mit ddev ssh in den Container geht und dort arbeitet, wird sich über diese Neuerung freuen. Einzelne ddev Kommado wie ddev xdebug sind num im Container direkt nutzbar. Man lässt dann aber das ddev weg und führt direkt xdebug on oder xdebug off aus. Eine genaus Liste der unterstüzten Kommandos habe ich auf die schnelle nicht gefunden. Aus dem Code geht aber hervor, dass die projektspezifschen Kommandos drush, pint, sake, typo3, wp funktionieren sollten. Erfolgreich getstet habe ich noch xhprof, yarn.

Warum ist das alles für Entwickler spannend?

Entwickler müssen immer wieder Snapshots von Datenbanken in ddev machen und diese dann wiede einspielen. Ist die Datenbank sehr groß, kann das auch mal frustrieren sein. Man überbrückt dann gerne die Wartenzeit indem man sich ungesunde Dinge reinpfeifft. Ihr seht also, dass ddev auch gut für die Gesundheit ist.
Kleiner Scherz :-)

Die Unterstützung für verschiedene Datenbankversionen und -typen hilft es Entwicklern Projekte schnell aufsetzen zu können. Egal ob es sich um ein Legacy System handel, dass vielleicht noch eine sehr alte Datenbank nutzt, oder man möchte einfach mal eine neue Datenbank testen. Ddev hilft hier ungemein durch die Vielzahl an Datenbanken die unterstützt werden. Ich selbst bin ja immer mehr ein Fan von Postgres geworden. Aber auch ich brauche vielleicht mal ein MySQL 8.4. Dann ist ddev für mich da.

Release Note

Wer die komplette Liste der Änderungen sehen will kann einfach das Release Note bei Github einsehen:
https://github.com/ddev/ddev/releases/tag/v1.24.2