Versiunea stabilă a MariaDB 10.6

După un an de dezvoltare și trei lansări preliminare, a fost publicată prima lansare stabilă a noii ramuri a SGBD-ului MariaDB 10.6, în cadrul căreia se dezvoltă o ramură a MySQL care menține compatibilitatea cu versiunea anterioară și se remarcă prin integrarea motoarelor de stocare suplimentare. și capabilități avansate. Sprijinul pentru noua filială va fi acordat timp de 5 ani, până în iulie 2026.

Dezvoltarea MariaDB este supravegheată de Fundația MariaDB independentă, în urma unui proces de dezvoltare complet deschis și transparent, care este independent de furnizorii individuali. MariaDB este furnizat ca înlocuitor pentru MySQL pe multe distribuții Linux (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) și a fost implementat în proiecte mari precum Wikipedia, Google Cloud SQL și Nimbuzz.

Îmbunătățiri cheie în MariaDB 10.6:

  • Este asigurată execuția atomică a expresiilor „CREATE TABLE|VIEW|SEQUENCE|TRIGGER”, „ALTER TABLE|SEQUENCE”, „RENAME TABLE|TABLES”, „DROP TABLE|VIEW|VIEW|TRIGGER|DATABASE” (fie expresia este complet finalizat sau totul revine la starea inițială). În cazul operațiunilor „DROP TABLE” care șterg mai multe tabele deodată, atomicitatea este asigurată la nivelul fiecărui tabel individual. Scopul modificării este de a asigura integritatea în cazul unui accident de server în timpul unei operațiuni. Anterior, după o blocare, tabelele și fișierele temporare puteau rămâne, sincronizarea tabelelor din motoarele de stocare și fișierele frm putea fi întreruptă, iar tabelele individuale puteau rămâne nedenumite atunci când mai multe tabele erau redenumite simultan. Integritatea este asigurată prin menținerea unui jurnal de recuperare a stării, calea către care poate fi determinată prin noua opțiune „—log-ddl-recovery=file” (ddl-recovery.log în mod implicit).
  • Construcția „SELECT ... OFFSET ... FETCH” definită în standardul SQL 2008 a fost implementată, permițându-vă să afișați un anumit număr de rânduri începând de la un offset specificat, cu posibilitatea de a utiliza parametrul „WITH TIES” pentru a atașați o altă valoare următoare. De exemplu, expresia „SELECT i FROM t1 ORDER BY i ASC OFFSET 1 ROWS FETCH FIRST 3 ROWS WITH TIES” diferă de construcția „SELECT i FROM t1 ORDER BY i ASC LIMIT 3 OFFSET 1” prin scoaterea unui alt element în coadă. (în loc de 3 4 rânduri vor fi tipărite).
  • Pentru motorul InnoDB, a fost implementată sintaxa „SELECT ... SKIP LOCKED”, care vă permite să excludeți rândurile pentru care nu se poate seta o blocare („LOCK IN SHARE MODE” sau „FOR UPDATE”).
  • Abilitatea de a ignora indecși a fost implementată (în MySQL 8, această funcționalitate se numește „indexuri invizibile”). Marcarea unui index de ignorat se face folosind indicatorul IGNORED din instrucțiunea ALTER TABLE, după care indexul rămâne vizibil și actualizat, dar nu este utilizat de optimizator.
  • S-a adăugat funcția JSON_TABLE() pentru a converti datele JSON în formă relațională. De exemplu, un document JSON poate fi transformat pentru a fi utilizat în contextul unui tabel, care poate fi specificat în interiorul unui bloc FROM într-o instrucțiune SELECT.
  • Compatibilitate îmbunătățită cu Oracle DBMS: S-a adăugat suport pentru subinterogări anonime în blocul FROM. Construcția MINUS a fost implementată (echivalent cu EXCEPT). S-au adăugat funcțiile ADD_MONTHS(), TO_CHAR(), SYS_GUID() și ROWNUM().
  • În motorul InnoDB, inserarea în tabele goale a fost accelerată. Formatul șirului COMPRESSED este setat în mod implicit doar pentru citire. Schema SYS_TABLESPACES a înlocuit SYS_DATAFILES și reflectă direct starea din sistemul de fișiere. Este oferit suport pentru scriere leneșă pentru spațiul temporar de tabelă. Suportul pentru vechiul algoritm de sumă de verificare, care a fost păstrat pentru compatibilitate cu MariaDB 5.5, a fost întrerupt.
  • În sistemul de replicare, dimensiunea valorii parametrului master_host a fost mărită de la 60 la 255 de caractere, iar master_user la 128. Variabila binlog_expire_logs_seconds a fost adăugată pentru a configura timpul de expirare a jurnalului binar în secunde (anterior, timpul de resetare era determinat doar în zile prin variabila expire_logs_days).
  • Mecanismul de replicare multi-master sincron Galera implementează variabila wsrep_mode pentru a configura parametrii API WSREP (Write Set REPlication). Conversia Galera permisă din comunicații necriptate în TLS fără oprirea clusterului.
  • A fost implementată schema sys-schema, care conține o colecție de vederi, funcții și proceduri pentru analiza operațiunilor bazei de date.
  • S-au adăugat tabele de servicii pentru analiza performanței de replicare.
  • Vizualizările INFORMATION_SCHEMA.KEYWORDS și INFORMATION_SCHEMA.SQL_FUNCTIONS au fost adăugate la setul de tabele de informații, afișând o listă de cuvinte cheie și funcții disponibile.
  • Arhivele TokuDB și CassandraSE au fost eliminate.
  • Codificarea utf8 a fost mutată de la reprezentarea de patru octeți utf8mb4 (U+0000..U+10FFFF) la utf8mb3 de trei octeți (acoperă intervalul Unicode U+0000..U+FFFF).
  • S-a adăugat suport pentru activarea socketului în systemd.
  • Pluginul GSSAPI a adăugat suport pentru numele și SID-urile de grup Active Directory.
  • S-a adăugat verificarea prezenței fișierului de configurare $MARIADB_HOME/my.cnf în plus față de $MYSQL_HOME/my.cnf.
  • Au fost implementate noi variabile de sistem binlog_expire_logs_seconds, innodb_deadlock_report, innodb_read_only_compressed, wsrep_mode și Innodb_buffer_pool_pages_lru_freed.

Sursa: opennet.ru

Adauga un comentariu