Egy év fejlesztés és három előzetes kiadás után megjelent a MariaDB 10.6 új adatbázis-kezelő rendszerének első stabil verziója, amely az MySQL-ből fakadó, visszafelé kompatibilis ágat alkot, és integrált tárolómotorokkal mellett bővített funkciókkal rendelkezik. Az új ág támogatása 5 évig, 2026 júliusáig tart.
A MariaDB fejlődését az független MariaDB Foundation felügyeli, teljesen nyílt és átlátható fejlesztési folyamat szerint, függetlenül a különböző gyártóktól. A MariaDB a MySQL helyett sok Linux disztribúcióban (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) megtalálható, és olyan nagy projektekben van jelen, mint a Wikipedia, a Google Cloud SQL és a Nimbuzz.
A MariaDB 10.6 főbb fejlesztései:
- Biztosított az atomikus végrehajtás a "CREATE TABLE|VIEW|SEQUENCE|TRIGGER", "ALTER TABLE|SEQUENCE", "RENAME TABLE|TABLES", "DROP TABLE|VIEW|VIEW|TRIGGER|DATABASE" kifejezések esetében (vagy a kifejezés teljesen befejeződik, vagy minden visszatér a kezdeti állapotába). A "DROP TABLE" műveleteknél, amelyek egyszerre több táblát törölnek, az atomikusság minden egyes tábla szintjén biztosított. A módosítás célja a sértetlenség biztosítása a művelet végrehajtása közbeni összeomlás esetén. a szerver Korábban, egy összeomlás után ideiglenes táblák és fájlok maradhattak hátra, megsérülhetett a táblák szinkronizálása a tárolómotorok és a frm fájlok között, egyes táblák nem lettek átnevezve, amikor több táblát egyszerre neveztek át. A sértetlenséget a helyreállítási állapot naplózása biztosítja, amelynek az elérési útját az új "--log-ddl-recovery=állomány" opcionális paraméter segítségével lehet meghatározni (alapértelmezés szerint ddl-recovery.log).
- Megvalósítva a SQL 2008 szabványban meghatározott "SELECT … OFFSET … FETCH" kifejezés, amely lehetővé teszi, hogy adott számú sort kérjünk le a megadott eltolással, és használható a "WITH TIES" paraméter, amely a következő értéket is hozzáfűzi. Például a "SELECT i FROM t1 ORDER BY i ASC OFFSET 1 ROWS FETCH FIRST 3 ROWS WITH TIES" kifejezés eltér a "SELECT i FROM t1 ORDER BY i ASC LIMIT 3 OFFSET 1" konstrukciótól, mivel egy további elemet is kiemel a végén (a 3 helyett 4 sort ad vissza).
- Az InnoDB tárolómotor számára megvalósították a "SELECT … SKIP LOCKED" szintaxist, amely lehetővé teszi azon sorok kizárását, amelyekhez nem lehet zárolást beállítani ("LOCK IN SHARE MODE" vagy "FOR UPDATE").
- Megvalósult az indexek figyelmen kívül hagyásának lehetősége (a MySQL 8-ban ezt a funkciót „láthatatlan indexeknek” nevezik). Az index figyelmen kívül hagyásának megjelölése az ALTER TABLE kifejezés IGNORED jelzőjével történik, majd az index látható és frissíthető marad, de az optimalizáló nem használja.
- Hozzáadva a JSON_TABLE() függvény, amely a JSON adatokat relációs formába alakítja. Például egy JSON dokumentumot táblázat kontextusba lehet átalakítani, amelyet a SELECT kifejezés FROM blokkán belül lehet megadni.
- Javították az Oracle SGBD-vel való kompatibilitást: támogatás került bevezetésre az anoním alsólekérdezések számára a FROM blokkban. Megvalósult a MINUS szerkezet (az EXCEPT megfelelője). Hozzáadott funkciók: ADD_MONTHS(), TO_CHAR(), SYS_GUID() és ROWNUM().
- Az InnoDB motorban felgyorsult az adatok beszúrása üres táblákba. Az alapértelmezett COMPRESSED sorformát olvasásra csak használható állapotba állították. A SYS_TABLESPACES séma felváltotta a SYS_DATAFILES-t, és közvetlenül tükrözi a fájlrendszer állapotát. Az ideiglenes táblatérhez biztosították a késleltetett írás támogatását. Megszűnt a régi ellenőrző algoritmus támogatása, amely a MariaDB 5.5 kompatibilitása érdekében maradt meg.
- A replikációs rendszerben a master_host paraméter értéke 60 karakterről 255 karakterre nőtt, míg a master_user 128 karakterre nőtt. Hozzáadva a binlog_expire_logs_seconds változó a bináris napló elavulásának másodpercekben való beállításához (korábban az időtartam napokban volt meghatározva az expire_logs_days változó által).
- A Galera szinkron multi-master replikációs mechanizmusában megvalósult a wsrep_mode változó a WSREP API (Write Set REPlication) paramétereinek beállításához. Engedélyezve lett a Galera átmenete a titkosítatlan kommunikációkról TLS használatára a klaszter leállítása nélkül.
- Megvalósult a sys-schema séma, amely tartalmazza a nézetek, funkciók és eljárások gyűjteményét az adatbázis műveletek elemzésére.
- Hozzáadták a replikációs teljesítmény elemzését szolgáló segédtáblákat.
- Az információs táblák készletéhez hozzáadták az INFORMATION_SCHEMA.KEYWORDS és INFORMATION_SCHEMA.SQL_FUNCTIONS nézeteket, amelyek a rendelkezésre álló kulcsszavak és funkciók listáját adják vissza.
- Eltávolították a TokuDB és CassandraSE tárolókat.
- Az utf8 kódolás négy bájtos utf8mb4 (U+0000..U+10FFFF) megjelenítésből három bájtos utf8mb3-ra (Unicode U+0000..U+FFFF tartomány) váltott.
- Hozzáadva a socket alapú aktiválás támogatása a systemd-ben.
- A GSSAPI pluginban támogatást adtak az Active Directory csoportnevek és SID nevek számára.
- Hozzáadva a konfigurációs fájl ellenőrzése $MARIADB_HOME/my.cnf mellett a $MYSQL_HOME/my.cnf fájlhoz.
- Új rendszer változók kerültek bevezetésre: binlog_expire_logs_seconds, innodb_deadlock_report, innodb_read_only_compressed, wsrep_mode és Innodb_buffer_pool_pages_lru_freed.
Forrás: opennet.ru
