MariaDB Server 10.5 je čerstvá, nová a stabilní verze od MariaDB, která byla vydána 24. června 2020. Pojďme se podívat na funkce, které nám přinese.
Více podrobnějších oprávnění
S MariaDB 10.5 přicházejí některé změny týkající se oprávnění. Především privilegium SUPER bylo rozděleno do několika nových privilegií, které umožňují nastavit podrobnější kontrolu nad tím, jaké akce jsou pro dané uživatele povoleny a jaké ne. Níže je uveden seznam nových oprávnění, která jsou k dispozici v MariaDB 10.5:
- SPRÁVCE BINLOGU
- OPAKOVÁNÍ BINLOGU
- SPRÁVCE PŘIPOJENÍ
- FEDEROVANÝ SPRÁVCE
- administrátor pouze pro čtení
- MASTER SPRÁVCE REPLIKACE
- SPRÁVCE SLAVE REPLIKACE
- NASTAVIT UŽIVATELE
Vylepšení výkonu InnoDB
MariaDB 10.5 přichází se seznamem vylepšení výkonu pro InnoDB. Je důležité vědět, že MariaDB 10.5 má vložený InnoDB z MariaDB 10.4. Chystají se úpravy a vylepšení výkonu, ale jádro InnoDB je stejné jako v MariaDB 10.4. Je velmi zajímavé sledovat, jak cesta, kterou si MariaDB zvolila, přinese z hlediska výkonu. Na jedné straně lpění na staré verzi umožňuje rychlejší cykly vydávání MariaDB – portování zcela nového InnoDB do MariaDB by bylo docela náročné a buďme upřímní, nemusí být skutečně proveditelné. Mějte prosím na paměti, že MariaDB se stává stále více nekompatibilní s upstreamem. Od posledního sestavení uběhla nějaká doba, kdy jste mohli jen vyměnit binární soubory a vše by fungovalo bez problémů.
MariaDB vyvinula svou sadu funkcí, jako je šifrování nebo komprese, takže tyto implementace nejsou kompatibilní. Na druhou stranu nový InnoDB ukázal výrazně lepší výkon než MariaDB 10.4. Bylo napsáno mnoho řádků kódu (a mnoho řádků kódu bylo odstraněno), aby byl škálovatelnější než předchozí verze. Bude velmi zajímavé sledovat, zda MariaDB 10.5 dokáže překonat své paralely.
Nebudeme zabíhat do podrobností, protože to můžete najít na webu MariaDB, rádi bychom zmínili některé změny. Protokoly opakování InnoDB zaznamenaly určitou práci, díky které jsou efektivnější. InnoDB buffer pool byl také vylepšen do té míry, že možnost vytvořit více buffer poolů byla odstraněna, protože již není potřeba – problémy s výkonem, které bylo zamýšleno opravit, byly opraveny již ve verzi 10.5, takže tato možnost není nutná.
Je také důležité mít na paměti, že InnoDB ve verzi 10.5 bude kvůli změnám nekompatibilní s InnoDB ve verzi 10.4. Upgrade bude pouze jednosměrný, podle toho byste měli naplánovat proces upgradu.
Plná podpora GTID pro Galera Cluster
Galera Cluster přijde v MariaDB 10.5 s plnou podporou GTID. Díky tomu by mělo být míchání Galera Cluster a asynchronní replikace bezproblémovější a méně problematické.
Další metadata pro replikaci a binární protokoly
Když už mluvíme o replikaci, MariaDB 10.5 zlepšila metadata binárního protokolu. Dodává se s dalšími informacemi o replikovaných datech:
- Podpis číselných sloupců
- Znaková sada sloupců znaků a binárních sloupců
- Název sloupce
- Hodnota řetězce sloupců SET
- Hodnota řetězce sloupců ENUM
- Primární klíč
- Znaková sada sloupců SET a sloupců ENUM
- Typ geometrie
To by mělo pomoci předejít problémům s replikací, pokud existují různá schémata na hlavním a podřízeném zařízení.
Syntaxe
V MariaDB 10.5 bylo zavedeno několik změn v syntaxi SQL. INTERSECT nám umožňuje napsat dotaz, jehož výsledkem budou řádky, které vrátí dva příkazy SELECT. V MariaDB 10.5 byl přidán INTERSECT ALL, který umožňuje vrátit sadu výsledků s duplicitními hodnotami. Podobně byl vylepšen EXCEPT, aby umožňoval EXCEPT ALL.
V syntaxi ALTER bylo provedeno několik změn - nyní můžete přejmenovat sloupce pomocí ALTER TABLE… PŘEJMENOVAT COLUMN. Index je také možné přejmenovat pomocí syntaxe ALTER TABLE … RENAME KEY. Co je docela důležité, jak ALTER TABLE, tak i RENAME TABLE získaly podporu pro IF EXISTS, určitě to pomůže z hlediska manipulace s replikací.
Aktualizace schématu výkonu, aby odpovídala MySQL 5.7
Tabulky schémat výkonu byly aktualizovány tak, aby byly na stejné úrovni jako schémata výkonu z MySQL 5.7. To znamená změny v instrumentaci týkající se paměti, zamykání metadat, připravených příkazů, uložených procedur, zamykání, transakcí a uživatelských proměnných.
Binární soubory s názvem mariadb
V neposlední řadě byly změněny binární soubory z ‚mysql‘ na ‚mariadb‘. Pro zachování kompatibility se stávajícími skripty a nástroji však lze stále používat starou konvenci pojmenování.
Kromě toho bylo zavedeno několik dalších změn. Funkce agregace polí a objektů JSON, vylepšená instrumentace pro fond připojení, vylepšení optimalizátoru dotazů nebo migrace na novou verzi knihovny pro regulární výrazy. Byla také představena integrace s S3 – data z bucketů S3 můžete číst z MariaDB 10.5.
Těšíme se na to, jak bude tato nová verze MariaDB vypadat v produkčním prostředí. Pokud máte zájem vyzkoušet, pokyny k migraci jsou k dispozici na webu MariaDB