È stata presentata la versione del DBMS MariaDB 11.8.2, segnata come il primo rilascio stabile della branch 11.8. La branch MariaDB 11.8 è classificata come release a lungo termine e sarà supportata per almeno 5 anni. È allo stesso tempo disponibile la versione MariaDB 12.0.1, che ha il status di release candidate.
Il progetto MariaDB sviluppa un fork di MySQL, mantenendo la compatibilità all'indietro e distinguendosi per l'integrazione di motori di archiviazione aggiuntivi e funzionalità avanzate. Lo sviluppo di MariaDB è supervisionato dall'organizzazione indipendente MariaDB Foundation, secondo un processo di sviluppo aperto e trasparente, che non dipende da singoli fornitori. MariaDB è fornito al posto di MySQL in molte distribuzioni Linux (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) ed è implementato in grandi progetti come Wikipedia, Google Cloud SQL e Nimbuzz.
Tra le modifiche nella branch MariaDB 11.8 rispetto all'ultimo rilascio LTS 11.4:
- Sono stati integrati i progressi del progetto MariaDB Vector, che sviluppa funzionalità per la ricerca vettoriale, richiesta nei sistemi di apprendimento automatico. È stata implementata la supporto integrato per il tipo di dato VECTOR, le funzioni VEC_DISTANCE_EUCLIDEAN(), VEC_DISTANCE_COSINE() e VEC_DISTANCE() per calcolare la similarità dei vettori, così come le funzioni VEC_FromText() e VEC_ToText() per la conversione tra la rappresentazione binaria e testuale dei vettori. Sono state implementate ottimizzazioni per il lavoro con i vettori, che utilizzano le estensioni SIMD delle CPU Intel (AVX2 e AVX512), ARM e IBM Power10. Nei test effettuati, le prestazioni delle query vettoriali in MariaDB superano quelle di Redis, pgvector, qdrant e weaviate.

- È stato risolto il problema dell'anno 2038. Il limite massimo del tipo TIMESTAMP è stato aumentato dall'anno 2038 all'anno 2106.
- Per impostazione predefinita, la codifica Unicode (utf8mb4) è stata impostata al posto di latin1, con pieno supporto per le emoji. Le proprietà della locale 'Collation', che definiscono le regole di ordinamento e confronto tenendo conto del significato dei caratteri, sono state aggiornate alla versione UCA 14.0.0.
- È stato aggiunto un nuovo plugin di autenticazione delle password PARSEC (Password Authentication with Response Signed by Elliptic Curves), che utilizza la funzione PBKDF2 per generare l'hash della password e verifica le risposte utilizzando una chiave pubblica basata sullo schema di firme digitali ed25519.
- È stata migliorata l'autenticazione per l'accesso al DBMS da un sistema locale, utilizzando un socket UNIX.
- Nel mariadb-dump e mariadb-import è stata aggiunta la supporto per la creazione e il ripristino di backup multi-thread. La parallelizzazione è applicata sia durante il dump di un grande DB che nel backup simultaneo di più DB.
- È stata significativamente aumentata la produttività della replica. Per accelerare l'accettazione di transazioni molto grandi, è stato implementato un meccanismo di commutazione dei segmenti del log binario (binlog), che consente di evitare operazioni costose di copia di file. Per ridurre il riavvio dopo guasti, è stata assicurata la ripristino delle transazioni (rollback) in modalità asincrona. È stata aggiunta l'impostazione "slave_replication_delay_abort_timeout", che consente di annullare automaticamente le transazioni che bloccano la replica per troppo tempo.
- Gli strumenti di monitoraggio sono stati ampliati. Nelle tabelle statistiche sono state aggiunte colonne aggiuntive per l'analisi delle prestazioni e la diagnosi dei problemi.
- È stata aggiunta la tabella USERS con informazioni sugli utenti, le restrizioni applicate a loro e la durata delle loro password.
- Sono stati aggiunti i comandi "FLUSH GLOBAL STATUS", "REPAIR TABLE … FORCE" e "SHOW CREATE SERVER".
- È stata aggiunta la possibilità di restituire valori di tipo ROW dalle procedure memorizzate.
- È stata migliorata la compatibilità con i database Oracle durante la lavorazione delle sequenze (sequence). L'operazione "CREATE SEQUENCE … AS" può ora essere utilizzata con qualsiasi tipo intero, inclusi "BIGINT UNSIGNED".
- Sono state aggiunte nuove funzioni per la generazione di UUID — UUID_v7 e UUID_v4.
- È stata aggiunta la funzione FORMAT_BYTES per convertire un numero di byte in un formato leggibile (ad esempio, FORMAT_BYTES(1000000000) restituirà 953,67 MiB).
- È stata aggiunta la possibilità di limitare lo spazio su disco utilizzato per i file temporanei e le tabelle temporanee. Sono state aggiunte le impostazioni max_tmp_session_space_usage e max_tmp_total_space_usage per impostare limiti, in riferimento a un utente e a tutti gli utenti.
- Nell'ottimizzatore delle query è stata accelerata l'elaborazione delle operazioni UPDATE/DELETE con una sola tabella. Sono state attivate di default le ottimizzazioni per ridurre le codifiche a un sottoinsieme più piccolo di caratteri. Sono state accelerate le query con espressioni "SUBSTR(col, 1, n) = const_str". È stato aggiunto il supporto per l'ottimizzazione delle colonne virtuali.
Fonte: opennet.ru

