Představena nová významná větev MariaDB 11 DBMS

10 let po založení větve 10.x byla vydána MariaDB 11.0.0, která nabídla několik významných vylepšení a změn, které narušily kompatibilitu. Větev je aktuálně v alfa release kvalitě a po stabilizaci bude připravena k produkčnímu použití. Další velká větev MariaDB 12 obsahující změny, které narušují kompatibilitu, se očekává nejdříve za 10 let (v roce 2032).

Projekt MariaDB vyvíjí fork z MySQL, který zachovává zpětnou kompatibilitu, kdykoli je to možné, a obsahuje integraci dalších úložných enginů a pokročilých funkcí. Na vývoj MariaDB dohlíží nezávislá MariaDB Foundation, která se řídí otevřeným a transparentním procesem vývoje, který je nezávislý na jednotlivých prodejcích. MariaDB DBMS je dodáván místo MySQL v mnoha distribucích Linuxu (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) a byl implementován v tak velkých projektech, jako je Wikipedia, Google Cloud SQL a Nimbuzz.

Klíčovým vylepšením ve větvi MariaDB 11 je přechod optimalizátoru dotazů na nový váhový model (nákladový model), který poskytuje přesnější predikci vah každého plánu dotazů. I když nový model může zmírnit některá problémová místa ve výkonu, nemusí být optimální ve všech scénářích a může zpomalit některé dotazy, proto se uživatelům doporučuje, aby se účastnili testování a v případě problémů informovali vývojáře.

Předchozí model byl dobrý v hledání optimálního indexu, ale měl problémy s použitelností skenování tabulek, skenování indexu nebo operací načítání rozsahu. U nového modelu je tato nevýhoda eliminována změnou základní hmotnosti operací se zásobníkovým motorem. Při vyhodnocování výkonu pro operace závislé na rychlosti disku, jako je sekvenční skenování zápisu, nyní předpokládáme, že data jsou uložena na SSD, který poskytuje rychlost čtení 400 MB za sekundu. Dodatečně byly vyladěny další váhové parametry optimalizátoru, což například umožnilo implementovat možnost použití indexů pro operace „ORDER BY/GROUP BY“ v poddotazech a zrychlit práci s velmi malými tabulkami.

Je třeba poznamenat, že nový váhový model vám umožní zvolit optimálnější plán provádění dotazu v následujících situacích:

  • Při použití dotazů zahrnujících více než 2 tabulky.
  • Když existují indexy obsahující velké množství identických hodnot.
  • Při použití rozsahů, které pokrývají více než 10 % tabulky.
  • Když máte složité dotazy, ve kterých nejsou indexovány všechny použité sloupce.
  • Když se používají dotazy, které zahrnují různé úložné stroje (například když jeden dotaz přistupuje k tabulkám v strojích InnoDB a Memory).
  • Při použití FORCE INDEX ke zlepšení plánu dotazů.
  • Když se plán dotazů při použití "ANALYZE TABLE" zhorší.
  • Když dotaz zahrnuje velký počet odvozených tabulek (velký počet vnořených SELECTů).
  • Při použití výrazů ORDER BY nebo GROUP BY, které spadají pod indexy.

Hlavní problémy s kompatibilitou ve větvi MariaDB 11:

  • Práva SUPER již neumožňují provádět akce, pro které jsou k dispozici samostatně nastavená oprávnění. Chcete-li například změnit formát binárních protokolů, budete potřebovat práva BINLOG ADMIN.
  • Odstraněna implementace vyrovnávací paměti změn v InnoDB.
  • Innodb_flush_method a innodb_file_per_table byly zastaralé.
  • Podpora názvů Mysql* byla ukončena.
  • Nastavení explicit_defaults_for_timestamp na 0 bylo zastaralé.
  • Symbolické odkazy jsou zahrnuty v samostatném balíčku pro kompatibilitu s MySQL.
  • Výchozí hodnota parametru innodb_undo_tablespaces byla změněna na 3.

Zdroj: opennet.ru

Přidat komentář