Een nieuwe belangrijke tak van de database MariaDB 11 is gepresenteerd

Tien jaar na de oprichting van de 10.x tak is de release van de database MariaDB 11.0.0 gepresenteerd, met verschillende belangrijke verbeteringen en veranderingen die de compatibiliteit verstoren. De tak heeft momenteel de kwaliteit van een alfa-versie en zal klaar zijn voor gebruik na stabilisatie. De vorming van de volgende belangrijke tak MariaDB 12, met incompatibele wijzigingen, wordt niet eerder verwacht dan over 10 jaar (in 2032).

Het MariaDB-project ontwikkelt een afgeleide van MySQL, die zoveel mogelijk de achterwaartse compatibiliteit behoudt en zich onderscheidt door de integratie van extra opslagengines en uitgebreide mogelijkheden. De ontwikkeling van MariaDB wordt beheerd door de onafhankelijke organisatie MariaDB Foundation in overeenstemming met een open en transparant ontwikkelingsproces, los van specifieke leveranciers. De database MariaDB wordt in plaats van MySQL geleverd in veel Linux-distributies (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) en is geïmplementeerd in grote projecten zoals Wikipedia, Google Cloud SQL en Nimbuzz.

De belangrijkste verbetering in de tak MariaDB 11 is de overgang van de query-optimalisator naar een nieuw kostenmodel (cost model), dat een nauwkeuriger voorspelling van de gewichten van elk uitvoeringsplan mogelijk maakt. Hoewel het nieuwe model helpt om enkele prestatieknelpunten weg te nemen, is het mogelijk dat het niet optimaal is in alle scenario's en dat sommige queries mogelijk langzamer worden. Gebruikers worden daarom aangeraden deel te nemen aan testen en de ontwikkelaars te informeren in geval van problemen.

Het eerder gebruikte model was goed in het vinden van de optimale index, maar had problemen met de toepasbaarheid van table scans, index scans of range queries. In het nieuwe model is dit gebrek verholpen door de basisgewichten van de operaties met de opslagengine te wijzigen. Bij de evaluatie van de prestaties van operaties die afhankelijk zijn van de schijf snelheden, zoals sequentiële scans van records, wordt nu aangenomen dat de gegevens zijn opgeslagen op een SSD-schijf met een leessnelheid van 400MB per seconde. Bovendien zijn er ook andere gewichtparameters van de optimizer aangepast, wat bijvoorbeeld de mogelijkheid heeft geïmplementeerd om indexen te gebruiken voor operaties 'ORDER BY/GROUP BY' in subqueries en de werking met zeer kleine tabellen te versnellen.

Het wordt opgemerkt dat het nieuwe gewichtmodel een optimaler uitvoeringsplan voor de query zal kiezen in de volgende situaties:

  • Bij het gebruik van queries die meer dan 2 tabellen omvatten.
  • Wanneer er indexen zijn die een groot aantal gelijke waarden bevatten.
  • Bij het gebruik van bereikqueries die meer dan 10% van de tabel dekken.
  • Bij complexe queries waarin niet alle gebruikte kolommen zijn geïndexeerd.
  • Wanneer er queries worden gebruikt die verschillende opslagengines aanspreken (bijvoorbeeld wanneer in één query wordt verwezen naar tabellen in zowel InnoDB als Memory engines).
  • Bij het gebruik van FORCE INDEX om het queryplan te verbeteren.
  • Bij verslechtering van het queryplan bij gebruik van 'ANALYZE TABLE'.
  • Wanneer de query een groot aantal afgeleide tabellen omvat (een groot aantal geneste SELECTs).
  • Bij het gebruik van ORDER BY of GROUP BY uitdrukkingen die indexeerbaar zijn.

Belangrijke compatibiliteitsproblemen in de MariaDB 11-tak:

  • SUPER-rechten stellen niet langer in staat om handelingen uit te voeren waarvoor afzonderlijke privileges beschikbaar zijn. Bijvoorbeeld, voor het wijzigen van het formaat van binaire logs zijn BINLOG ADMIN-rechten nodig.
  • De implementatie van de wijzigingsbuffer in InnoDB is verwijderd.
  • innodb_flush_method en innodb_file_per_table zijn als verouderd verklaard.
  • Ondersteuning van namen mysql* is als verouderd verklaard.
  • Het instellen van de parameter explicit_defaults_for_timestamp op 0 is als verouderd verklaard.
  • Symbolische links voor compatibiliteit met MySQL zijn in een apart pakket geplaatst.
  • De standaardwaarde van de parameter innodb_undo_tablespaces is gewijzigd naar 3.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster