PĂ€rast aasta arengut ja kolme eelvĂ€ljaannet on avaldatud MariaDB 10.6 uue haru esimene stabiilne versioon. See haru on MySQLi hargnevus, mis sĂ€ilitab tagasipoordumise ĂŒhilduvuse ja pakub tĂ€iendavate salvestusmootorite integreerimist ning laiendatud funktsioone. Uue haru toetust antakse 5 aastat, kuni juuli 2026.
MariaDB arengut kureerib iseseisev organisatsioon MariaDB Foundation, jĂ€rgides tĂ€iesti avatud ja lĂ€bipaistvat arendusprotsessi, mis ei sĂ”ltu ĂŒksikutest tootjatest. MariaDB-d pakutakse MySQL asemele paljudes Linuxi distributsioonides (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) ning see on rakendatud suurtes projektides nagu Wikipedia, Google Cloud SQL ja Nimbuzz.
MariaDB 10.6 peamised tÀiustused:
- On tagatud atomaarne tĂ€itmine vĂ€ljendite "CREATE TABLE|VIEW|SEQUENCE|TRIGGER", "ALTER TABLE|SEQUENCE", "RENAME TABLE|TABLES", "DROP TABLE|VIEW|VIEW|TRIGGER|DATABASE" puhul (kas vĂ€ljend on tĂ€ielikult lĂ”petatud vĂ”i naaseb kĂ”ik algsesse seisundisse). "DROP TABLE" toimingute puhul, mis eemaldavad mitu tabelit korraga, tagatakse atomaarne toimimine iga eraldi tabeli tasemel. Muutuse eesmĂ€rk on tagada terviklikkus toimingu katkemise korral. serverid katkestuse kĂ€igus. Varasematel juhtudel vĂ”isid jÀÀda ajutised tabelid ja failid, tabelite sĂŒnkroonimine ladustamisvĂ”imetes ja frm-failides vĂ”is olla hĂ€iritud ning mĂ”ni tabel vĂ”is jÀÀda ĂŒmbernimetamata, kui mitu tabelit nimetati korraga ĂŒmber. Terviklikkuse tagamine toimub taastamise olekute logimise kaudu, mille teed saab mÀÀrata uue valiku "âlog-ddl-recovery=fail" kaudu (vaikimisi ddl-recovery.log).
- On ellu viidud SQL 2008 standardis mÀÀratletud konstruktsioon "SELECT ⊠OFFSET ⊠FETCH", mis vĂ”imaldab vĂ€lja tuua kindla arvu ridu, alustades mÀÀratud nihkest, koos vĂ”imalusega kasutada parameetrit "WITH TIES" jĂ€rgmise vÀÀrtuse kinnitamiseks. NĂ€iteks vĂ€ljend "SELECT i FROM t1 ORDER BY i ASC OFFSET 1 ROWS FETCH FIRST 3 ROWS WITH TIES" erineb konstruktsioonist "SELECT i FROM t1 ORDER BY i ASC LIMIT 3 OFFSET 1" sellega, et tagastatakse veel ĂŒks element, mis tuleb viimasesse (4 rida tagastatakse 3 asemel).
- InnoDB mootori jaoks on ellu viidud sĂŒntaks "SELECT ⊠SKIP LOCKED", mis vĂ”imaldab vĂ€lja jĂ€tta read, millele ei saa lukku panna ("LOCK IN SHARE MODE" vĂ”i "FOR UPDATE").
- Rakendatud on indeksite ignoreerimise vÔimalus (MySQL 8-s nimetatakse seda funktsionaalsust "nÀhtamatuteks indeksiteks"). Indeksi ignoreerimise mÀrgistus toimub flag'i IGNORED abil "ALTER TABLE" vÀljendis, pÀrast mida jÀÀb indeks nÀhtavaks ja uuendatavaks, kuid optimeerija ei kasuta seda.
- Lisatud on funktsioon JSON_TABLE(), mis on mÔeldud JSON-andmete muutmiseks relatsiooniliseks vormiks. NÀiteks saab JSON-dokumenti muuta, et kasutada seda tabelikontekstis, mille saab nÀidata SELECT vÀljendi FROM plokis.
- Parandatud on ĂŒhilduvust Oracle andmebaasi haldamise sĂŒsteemiga: lisatud on anonĂŒĂŒmsete alamkĂŒsimuste toetus FROM plokis. Rakendatud on MINUS konstruktsioon (vĂ”rdne EXCEPT-iga). Lisatud on funktsioonid ADD_MONTHS(), TO_CHAR(), SYS_GUID() ja ROWNUM().
- InnoDB mootori sisestamine tĂŒhjadesse tabelitesse on kiirendatud. Ridade vorming COMPRESSED on vaikimisi muudetud ainult lugemisreĆŸiimiks. SYS_TABLESPACES skeem on asendanud SYS_DATAFILES ja peegeldab otse failisĂŒsteemi seisundit. Ajutise tabeliruumiga on tagatud viivitusega kirjutamise tugi. Toetust vana kontrollsummade algoritmi, mis sĂ€ilitati MariaDB 5.5 ĂŒhilduvuse nimel, on lĂ”petatud.
- Replikatsiooni sĂŒsteemis suurendati parameetri master_host vÀÀrtuse suurust 60-st 255-eni ja master_user kuni 128. Lisatud on muutuja binlog_expire_logs_seconds binaarsete logide aegumisperioodi seadistamiseks sekundites (varem mÀÀrati aegumine ainult pĂ€evades muutuja expire_logs_days kaudu).
- Galera sĂŒnkroonse multi-master replikatsiooni mehhanismis on rakendatud muutuja wsrep_mode WSREP (Write Set REPlication) API parameetrite seadistamiseks. Galera ĂŒleminek krĂŒpteerimata kommunikatsioonidelt TLS-i kasutamisele ilma klastrit peatamata on nĂŒĂŒd lubatud.
- Rakendatud on sys-schema, mis kogub kollektsiooni vaateid, funktsioone ja protseduure andmebaasi toimingute analĂŒĂŒsimiseks.
- Lisatud on teenindustabelid replikatsiooni jĂ”udluse analĂŒĂŒsimiseks.
- Informatsioonitabelite kogusse on lisatud vaated INFORMATION_SCHEMA.KEYWORDS ja INFORMATION_SCHEMA.SQL_FUNCTIONS, mis kuvavad saadaval olevate vÔtmesÔnade ja funktsioonide nimekirja.
- Eemaldatud on TokuDB ja CassandraSE ladustamised.
- Kodeering utf8 on muudetud neljabaidilisest esitusest utf8mb4 (U+0000..U+10FFFF) kolme-baidi utf8mb3-ks (katab Unicode vahemiku U+0000..U+FFFF).
- Lisatud on toetus sokli kaudu aktiveerimisele systemd-s.
- GSSAPI lisandis on lisatud Active Directory grupi nimede ja SID-i toetus.
- Lisatud on kontrolli olemasolu konfiguratsioonifaili $MARIADB_HOME/my.cnf kohta lisaks $MYSQL_HOME/my.cnf-le.
- Uued sĂŒsteemi muutujad on rakendatud: binlog_expire_logs_seconds, innodb_deadlock_report, innodb_read_only_compressed, wsrep_mode ja Innodb_buffer_pool_pages_lru_freed.
Allikas: opennet.ru
