Predstavená nová významná vetva MariaDB 11 DBMS

10 rokov po založení pobočky 10.x vychádza MariaDB 11.0.0, ktorá prináša niekoľko zásadných vylepšení a prelomí zmeny v kompatibilite. Pobočka je zatiaľ v kvalite alfa uvoľnenia a po stabilizácii bude pripravená na produkčné aplikácie. Očakáva sa, že ďalšia významná vetva MariaDB 12, ktorá obsahuje zmeny, ktoré narúšajú kompatibilitu, nebude skôr ako o 10 rokov (v roku 2032).

Projekt MariaDB vyvíja fork z MySQL, ktorý si zachováva spätnú kompatibilitu tam, kde je to možné, a vyznačuje sa integráciou ďalších úložných modulov a pokročilých funkcií. Na vývoj MariaDB dohliada nezávislá nadácia MariaDB, ktorá sa riadi otvoreným a transparentným procesom vývoja nezávisle od jednotlivých predajcov. MariaDB nahrádza MySQL na mnohých linuxových distribúciách (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) a bola prijatá veľkými projektmi ako Wikipedia, Google Cloud SQL a Nimbuzz.

Kľúčovým vylepšením vo vetve MariaDB 11 je preklad optimalizátora dotazov na nový váhový model (nákladový model), ktorý poskytuje presnejšiu predikciu váh každého plánu vykonávania dotazov. Aj keď nový model odstraňuje niektoré obmedzenia výkonu, je možné, že nebude optimálny vo všetkých scenároch a niektoré dotazy sa môžu spomaliť, preto sa používateľom odporúča zúčastniť sa testovania a v prípade problémov upozorniť vývojárov.

Predtým používaný model fungoval dobre na nájdenie optimálneho indexu, mal však problémy s použiteľnosťou skenovania tabuliek, skenovania indexu alebo načítania rozsahu. V novom modeli je táto nevýhoda eliminovaná zmenou základnej hmotnosti operácií so zásobníkovým motorom. Hodnotenia výkonu pre operácie náročné na disk, ako je sekvenčné skenovanie zápisu, teraz predpokladajú, že dáta sú uložené na SSD s rýchlosťou 400 MB čítania za sekundu. Dodatočne sa vyladili ďalšie váhové parametre optimalizátora, čo napríklad umožnilo použiť indexy pre operácie ORDER BY/GROUP BY v poddotazoch a urýchliť prácu s veľmi malými tabuľkami.

Je potrebné poznamenať, že nový váhový model umožní výber optimálnejšieho plánu vykonávania dotazu v nasledujúcich situáciách:

  • Pri použití dopytov zahŕňajúcich viac ako 2 tabuľky.
  • Keď existujú indexy obsahujúce veľký počet identických hodnôt.
  • Pri použití rozsahov pokrývajúcich viac ako 10 % tabuľky.
  • Keď máte zložité dotazy, pri ktorých nie sú indexované všetky použité stĺpce.
  • Keď sa používajú dotazy, ktoré zahŕňajú rôzne úložné mechanizmy (napríklad, keď jeden dotaz obsahuje prístup k tabuľkám v InnoDB a pamäťových strojoch).
  • Pri použití FORCE INDEX na zlepšenie plánu dotazov.
  • Keď sa plán dotazov zhorší v prípade použitia "ANALYZE TABLE".
  • Keď dotaz zahŕňa veľký počet zobrazení (veľký počet vnorených SELECTov).
  • Keď používate klauzuly ORDER BY alebo GROUP BY, ktoré zodpovedajú indexom.

Hlavné prerušenia kompatibility vo vetve MariaDB 11:

  • Práva SUPER vám už neumožňujú vykonávať akcie, pre ktoré sú k dispozícii samostatne nastavené privilégiá. Napríklad zmena formátu binárnych protokolov bude vyžadovať práva BINLOG ADMIN.
  • Odstránená implementácia vyrovnávacej pamäte zmien v InnoDB.
  • Zastarané metódy innodb_flush_method a innodb_file_per_table.
  • Podpora pre názvy mysql* bola ukončená.
  • Zastarané nastavenie explicit_defaults_for_timestamp na 0.
  • Symbolické odkazy boli pre kompatibilitu s MySQL presunuté do samostatného balíka.
  • Hodnota parametra innodb_undo_tablespaces bola zmenená z predvolenej hodnoty na 3.

Zdroj: opennet.ru

Pridať komentár