Neuer wichtiger Zweig des MariaDB 11 DBMS eingeführt

10 Jahre nach der Gründung des 10.x-Zweigs wurde MariaDB 11.0.0 veröffentlicht, das mehrere bedeutende Verbesserungen und Änderungen bot, die die Kompatibilität beeinträchtigten. Der Zweig befindet sich derzeit in Alpha-Release-Qualität und wird nach der Stabilisierung für den Produktionseinsatz bereit sein. Der nächste große Zweig von MariaDB 12, der Änderungen enthält, die die Kompatibilität beeinträchtigen, wird frühestens in 10 Jahren (im Jahr 2032) erwartet.

Das MariaDB-Projekt entwickelt einen Fork von MySQL, der nach Möglichkeit Abwärtskompatibilität beibehält und zusätzliche Speicher-Engines und erweiterte Funktionen integriert. Die MariaDB-Entwicklung wird von der unabhängigen MariaDB Foundation überwacht und folgt einem offenen und transparenten Entwicklungsprozess, der unabhängig von einzelnen Anbietern ist. Das MariaDB DBMS wird anstelle von MySQL in vielen Linux-Distributionen (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) mitgeliefert und wurde in so großen Projekten wie Wikipedia, Google Cloud SQL und Nimbuzz implementiert.

Eine wichtige Verbesserung im MariaDB 11-Zweig ist der Übergang des Abfrageoptimierers zu einem neuen Gewichtungsmodell (Kostenmodell), das eine genauere Vorhersage der Gewichtungen jedes Abfrageplans ermöglicht. Während das neue Modell möglicherweise einige Leistungsengpässe lindert, ist es möglicherweise nicht in allen Szenarien optimal und kann einige Abfragen verlangsamen. Daher werden Benutzer aufgefordert, an Tests teilzunehmen und Entwickler zu benachrichtigen, wenn Probleme auftreten.

Das Vorgängermodell war gut darin, den optimalen Index zu finden, hatte jedoch Probleme mit der Anwendbarkeit von Tabellenscans, Indexscans oder Bereichsabrufvorgängen. Im neuen Modell wird dieser Nachteil durch die Änderung der Basisgewichtung von Vorgängen mit der Speicher-Engine beseitigt. Bei der Bewertung der Leistung für Vorgänge, die von der Festplattengeschwindigkeit abhängen, wie z. B. sequentielle Schreibscans, gehen wir nun davon aus, dass die Daten auf einer SSD gespeichert sind, die Lesegeschwindigkeiten von 400 MB pro Sekunde bietet. Darüber hinaus wurden weitere Gewichtsparameter des Optimierers optimiert, was es beispielsweise ermöglichte, die Möglichkeit zu implementieren, Indizes für „ORDER BY/GROUP BY“-Operationen in Unterabfragen zu verwenden und die Arbeit mit sehr kleinen Tabellen zu beschleunigen.

Es wird darauf hingewiesen, dass Sie mit dem neuen Gewichtungsmodell in den folgenden Situationen einen optimaleren Abfrageausführungsplan auswählen können:

  • Bei Verwendung von Abfragen, die sich über mehr als 2 Tabellen erstrecken.
  • Wenn Indizes vorhanden sind, die eine große Anzahl identischer Werte enthalten.
  • Bei Verwendung von Bereichen, die mehr als 10 % der Tabelle abdecken.
  • Wenn Sie komplexe Abfragen haben, bei denen nicht alle verwendeten Spalten indiziert sind.
  • Wenn Abfragen verwendet werden, die unterschiedliche Speicher-Engines umfassen (z. B. wenn eine Abfrage auf Tabellen in den InnoDB- und Speicher-Engines zugreift).
  • Bei Verwendung von FORCE INDEX zur Verbesserung des Abfrageplans.
  • Wenn sich der Abfrageplan bei Verwendung von „ANALYZE TABLE“ verschlechtert.
  • Wenn die Abfrage eine große Anzahl abgeleiteter Tabellen umfasst (große Anzahl verschachtelter SELECTs).
  • Bei Verwendung von ORDER BY- oder GROUP BY-Ausdrücken, die unter Indizes fallen.

Wichtige Kompatibilitätsprobleme im MariaDB 11-Zweig:

  • Mit SUPER-Rechten können Sie keine Aktionen mehr ausführen, für die separat festgelegte Berechtigungen verfügbar sind. Um beispielsweise das Format von Binärprotokollen zu ändern, benötigen Sie BINLOG ADMIN-Rechte.
  • Die Implementierung des Änderungspuffers in InnoDB wurde entfernt.
  • Innodb_flush_method und innodb_file_per_table sind veraltet.
  • Die Unterstützung von MySQL*-Namen ist veraltet.
  • Das Setzen von „explicit_defaults_for_timestamp“ auf 0 ist veraltet.
  • Symbolische Links sind aus Kompatibilitätsgründen mit MySQL in einem separaten Paket enthalten.
  • Der Standardwert des Parameters innodb_undo_tablespaces wurde auf 3 geändert.

Source: opennet.ru

Kommentar hinzufügen