Versiunea stabilă a SGBD MariaDB 10.5

După un an de dezvoltare și patru versiuni preliminare pregătit prima versiune stabilă a noului ramurii de SGBD MariaDB 10.4, în cadrul căreia se dezvoltă o ramură a MySQL, păstrând compatibilitatea inversă și aflându-se integrarea unor motoare de stocare suplimentare și a unor funcționalități extinse. Suportul pentru noua ramură va fi asigurat timp de 5 ani, până în iunie 2025.

Dezvoltarea MariaDB este coordonată de organizația independentă MariaDB Foundation, în conformitate cu un proces de dezvoltare complet deschis și transparent, care nu depinde de producători individuali. MariaDB este furnizată în locul MySQL în multe distribuții Linux (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) și a fost integrată în proiecte mari, cum ar fi Wikipedia, Google Cloud SQL și Nimbuzz.

Principalele îmbunătățiri MariaDB 10.5:

  • A fost adăugat un motor de stocare S3, care permite stocarea tabelelor MariaDB în Amazon S3 sau în orice altă soluție de stocare cloud publică sau privată care suportă API S3. Stocarea în S3 este suportată atât pentru tabele obișnuite, cât și pentru tabele partitionate. Atunci când se află în cloud, tabelele partitionate pot fi utilizate direct și de pe alte servere care au acces la stocarea S3.
  • A fost adăugat un motor de stocare ColumnStore, care stochează datele legat de coloane și folosește arhitectura distribuită cu procesare în paralel masivă. Motorul se bazează pe tehnologiile din MySQL storage InfiniDB și este destinat organizării procesării și executării interogărilor analitice pe volume mari de date (Data Warehouse).
    ColumnStore stochează datele nu pe rânduri, ci pe coloane, ceea ce permite optimizarea executării grupărilor pe coloane din baze de date mari, incluzând petabyte de date. Se suportă scalarea liniară, stocarea datelor într-o formă comprimată, partitionare verticală și orizontală, precum și execuția eficientă a interogărilor concurente.
  • Toate fișierele executabile care încep cu cuvântul «mysql» au fost redenumite folosind cuvântul «mariadb». Vechile denumiri au fost păstrate sub formă de linkuri simbolice.
  • A fost adăugat un nou tip de date INET6 pentru stocarea adreselor IPv6.
  • A fost realizată o muncă de divizare a privilegiilor în componente mai mici. În locul privilegiului general SUPER a fost propusă o serie de privilegii selective: «BINLOG ADMIN»,
    «BINLOG REPLAY»,
    «CONNECTION ADMIN»,
    «FEDERATED ADMIN»,
    «READ_ONLY ADMIN»,
    «REPLICATION MASTER ADMIN»,
    «REPLICATION SLAVE ADMIN» și
    «SET USER».
  • Privilegiul „REPLICATION CLIENT” a fost redenumit în „BINLOG MONITOR”, iar expresia „SHOW MASTER STATUS” în „SHOW BINLOG STATUS”. Redenumirea clarifică comportamentul și nu este legată de corectitudinea politică; proiectul nu renunță la termenii master/slave și chiar a adăugat privilegii noi „MASTER ADMIN” și „SLAVE ADMIN”. În plus, în expresiile SQL a fost adăugat o nouă cheie „REPLICA”, care este un sinonim pentru „SLAVE”.
  • Pentru unele expresii, au fost modificate privilegii necesare pentru executarea acestora. „SHOW BINLOG EVENTS” necesită acum drepturi „BINLOG MONITOR” în loc de „REPLICATION SLAVE”, „SHOW SLAVE HOSTS” necesită privilegiul „REPLICATION MASTER ADMIN” în loc de „REPLICATION SLAVE”, „SHOW SLAVE STATUS” necesită drepturi „REPLICATION SLAVE ADMIN” sau „SUPER” în loc de „REPLICATION CLIENT”, iar „SHOW RELAYLOG EVENTS” necesită drepturi „REPLICATION SLAVE ADMIN” în loc de „REPLICATION SLAVE”.
  • Au fost adăugate construcții „INSERT … RETURNING” și „REPLACE … RETURNING«, care returnează o listă de stocuri inserate/înlocuite sub formă, ca și cum valorile ar fi fost returnate utilizând expresia SELECT (în analogie cu „DELETE … RETURNING”).

    INSERT INTO t2 VALUES (1, 'Dog'), (2, 'Lion'), (3, 'Tiger'), (4, 'Leopard')
    RETURNING id2, id2+id2, id2&id2, id2||id2;
    +——+———+———+———-+
    | id2 | id2+id2 | id2&id2 | id2||id2 |
    +——+———+———+———-+
    | 1 | 2 | 1 | 1 |
    | 2 | 4 | 2 | 1 |
    | 3 | 6 | 3 | 1 |
    | 4 | 8 | 4 | 1 |
    +——+———+———+———-+

  • Au fost adăugate expresii „EXCEPT ALL” și „INTERSECT ALL» pentru excluderea/perfectarea rezultatului cu un anumit set de valori.
  • A apărut posibilitatea de a specifica comentarii în interiorul blocurilor „CREATE DATABASE” și „ALTER DATABASE”.
  • Au fost adăugate construcții pentru redenumirea indicelui și a coloanelor „ALTER TABLE … RENAME INDEX / KEY» și «ALTER TABLE … RENAME COLUMN«.
  • În operația „ALTER TABLE” și „RENAME TABLE” a fost adăugată suportul pentru condiția „IF EXISTS” pentru a efectua operația doar dacă tabela există;
  • Pentru indicii în „CREATE TABLE” a fost implementat atributul „VISIBLE«.
  • A fost adăugat expresia „CYCLE” pentru identificarea ciclurilor recursive CTE.
  • Funcții adăugate JSON_ARRAYAGG și JSON_OBJECTAGG pentru a returna un array sau un obiect JSON cu valorile din coloana specificată.
  • Au fost adăugate tabele de informații operaționale (THREAD_POOL_GROUPS, THREAD_POOL_QUEUES, THREAD_POOL_STATS și THREAD_POOL_WAITS) pentru pool-ul de fire (thread_pool).
  • Expresia ANALYZE a fost extinsă pentru a arăta timpul necesar verificării blocului WHERE și pentru executarea operațiunilor auxiliare.
  • În optimizerul de procesare a intervalelor, s-au luat în considerare semnele „IS NOT NULL”
  • Dimensiunea fișierelor temporare utilizate în sortarea cu tipurile VARCHAR, CHAR și BLOB a fost semnificativ redusă.
  • În logul binar, utilizat pentru organizarea replicării, au fost adăugate câmpuri noi cu metadate, inclusiv Cheia Principală, Numele Coloanei, Setul de Caractere și Tipul Geometric. În utilitarul mariadb-binlog și comenzile „SHOW BINLOG EVENTS” și „SHOW RELAYLOG EVENTS” au fost afișate flagurile de replicare.
  • Construcția DROP TABLE acum sigur șterge tabelele care rămân în motorul de stocare, chiar și în absența fișierelor „.frm” sau „.par”.
  • A fost implementată o variantă accelerată hardware a funcției crc32() pentru CPU AMD64, ARMv8 și POWER 8.
  • Au fost modificate unele setări implicite. Parametrul innodb_encryption_threads a fost crescut la 255, iar valoarea max_sort_length a fost crescută de la 4 la 8.
  • Au fost prezentate numeroase optimizări de performanță pentru motorul InnoDB.
  • În mecanismul de replicare multi-master sincron Galera a fost adăugată suport complet GTID (ID-ul Global al Tranzacției), identificatori unici pentru toate nodurile din cluster.
  • S-a efectuat tranziția la o nouă ramură a bibliotecii PCRE2 (Expresii Regulate Compatibile Perl), în locul seriei clasice PCRE 8.x.
  • Au fost propuse noi versiuni de wrapperi pentru conectarea la SGBD MariaDB și MySQL din programe scrise în Python și C: MariaDB Connector/Python 1.0.0 și MariaDB Connector/C 3.1.9. Wrapperul pentru Python este conform cu Python DB API 2.0, scris în limbaj C și folosește pentru conectarea la server biblioteca Connector/C.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster