După 6 luni de dezvoltare, a fost lansată prima versiune stabilă a noii ramuri a SGBD-ului MariaDB 10.7 (10.7.2), în cadrul căreia se dezvoltă un fork de MySQL, care păstrează compatibilitatea înapoi și se distinge prin integrarea de motoare de stocare suplimentare și funcționalități extinse. Dezvoltarea MariaDB este coordonată de organizația independentă MariaDB Foundation, conform unui proces de dezvoltare complet deschis și transparent, care nu depinde de producători individuali. MariaDB este livrată în locul MySQL în multe distribuții Linux (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) și este implementată în proiecte mari precum Wikipedia, Google Cloud SQL și Nimbuzz.
În același timp, a fost formată prima versiune de test a următoarei ramuri semnificative, MariaDB 10.8.1, și actualizări corective pentru versiunile 10.6.6, 10.5.14, 10.4.23, 10.3.33 și 10.2.42. Lansarea 10.7.2 a fost prima după ce proiectul a trecut la un nou model de formare a lansărilor, care implică reducerea perioadei de suport de la 5 ani la 1 an și trecerea la formarea lansărilor semnificative nu o dată pe an, ci o dată pe trimestru.
Îmbunătățirile cheie ale MariaDB 10.7:
- A fost adăugat un nou tip de date UUID, destinat stocării identificatorilor unici de 128 de biți (Universally Unique Identifier).
- Au fost propuse noi funcții pentru procesarea datelor în format JSON: JSON_EQUALS() pentru compararea identității a două documente JSON și JSON_NORMALIZE() pentru transformarea obiectelor JSON într-o formă adecvată pentru efectuarea operațiunilor de comparație (efectuează sortarea cheilor și eliminarea spațiilor).
- A fost adăugată funcția NATURAL_SORT_KEY() pentru sortarea șirurilor având în vedere valorile numerice (de exemplu, șirul „v10” va ocupa locul după șirul „v9” după sortare).
- A fost adăugată funcția SFORMAT() pentru formatarea arbitrară a șirurilor - intrarea este un șir cu comenzi de formatare și o listă de valori pentru substituție (de exemplu, ‘SFORMAT(„Răspunsul este {}.”, 42)’).
- A fost îmbunătățită informarea despre erori în interogările INSERT care adaugă date în mai multe rânduri (comanda GET DIAGNOSTICS acum returnează proprietatea ROW_NUMBER, indicând numărul rândului cu eroare).
- A fost inclus un nou plugin de verificare a parolelor password_reuse_check, care permite limitarea reutilizării parolenor de către un singur utilizator (verifică că noua parolă nu se potrivește cu parolele utilizate într-o perioadă specificată de parametrul password_reuse_check_interval).
- A fost adăugat suport pentru instrucțiunile „ALTER TABLE … CONVERT PARTITION .. TO TABLE” și „ALTER TABLE … CONVERT TABLE … TO PARTITION” pentru conversia secțiunii (partition) în tabel și invers.
- Utilitarul mariadb-dump a primit opțiunea „—as-of” pentru a crea un dump corespunzător unei anumite versiuni a tabelului versionat.
- Pentru MariaDB Galera Cluster, în PROCESSLIST au fost introduse noi stări: „waiting to execute in isolation”, „waiting for TOI DDL”, „waiting for flow control” și „waiting for certification”.
- Optimizerul a primit un nou parametru „reorder”. Pentru șirurile multibyte, performanța de corespondență bazată pe semnificația caracterelor în operațiunile cu intervale ASCII a fost îmbunătățită.
- În stocarea InnoDB, performanța inserării datelor în modul batch, precum și a sortării preliminare și construcției de indecși, a fost îmbunătățită.
- Au fost remediate 5 vulnerabilități, ale căror detalii nu sunt încă dezvăluite: CVE-2022-24052, CVE-2022-24051, CVE-2022-24050, CVE-2022-24048, CVE-2021-46659.
- Printre schimbările din versiunea de test MariaDB 10.8.1 se numără implementarea indecșilor sortati descrescător, care permite creșterea semnificativă a performanței operațiunilor ORDER BY pentru selecția în ordine inversă. Pentru funcțiile stocate, au fost adăugate specificatoarele IN, OUT, INOUT și IN OUT. În InnoDB, numărul de operații de scriere în log-ul de anulare (redo) a fost redus.
Sursa: opennet.ro
