Rilascio stabile del DBMS MariaDB 10.5

Dopo un anno di sviluppo e quattro versioni preliminari è preparato la prima versione stabile del nuovo ramo del DBMS MariaDB 10.4, nel quale si sviluppa un branch derivato da MySQL, mantenendo la retrocompatibilità e caratterizzato da integrazione di motori di archiviazione aggiuntivi e funzionalità avanzate. Il supporto per il nuovo ramo sarà fornito per 5 anni, fino a giugno 2025.

Lo sviluppo di MariaDB è guidato dall'organizzazione indipendente MariaDB Foundation seguendo un processo di sviluppo completamente aperto e trasparente, non dipendente da singoli produttori. MariaDB è fornito al posto di MySQL in molte distribuzioni Linux (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) ed è implementato in progetti di grandi dimensioni come Wikipedia, Google Cloud SQL e Nimbuzz.

Le chiave miglioramenti MariaDB 10.5:

  • È stato aggiunto un motore di archiviazione S3, che consente di memorizzare tabelle di MariaDB in Amazon S3 o in qualsiasi altro storage cloud pubblico o privato che supporti l'API S3. È supportata la memorizzazione in S3 di tabelle normali e partizionate. Quando le tabelle partizionate sono memorizzate nel cloud, possono essere utilizzate direttamente anche da un altro server che ha accesso allo storage S3.
  • È stato aggiunto un motore di archiviazione ColumnStore, che archivia i dati in base alle colonne e utilizza un'architettura distribuita a massima parallelizzazione. Il motore è basato sugli sviluppi dello storage MySQL InfiniDB ed è progettato per organizzare l'elaborazione e l'esecuzione di query analitiche su grandi volumi di dati (Data Warehouse).
    ColumnStore archivia i dati non per righe, ma per colonne, permettendo di ottimizzare l'esecuzione delle operazioni di raggruppamento su colonne di grandi dimensioni contenenti petabyte di dati. Supporta una scalabilità lineare, l'archiviazione dei dati in forma compressa, la partizione verticale e orizzontale, e l'esecuzione efficiente di query concorrenti.
  • Tutti i file eseguibili che iniziano con la parola «mysql» sono stati rinominati utilizzando la parola «mariadb». I nomi originali sono stati conservati sotto forma di collegamenti simbolici.
  • È stato aggiunto un nuovo tipo di dato INET6 per memorizzare indirizzi IPv6.
  • È stato effettuato un lavoro di suddivisione dei privilegi in componenti più piccole. Invece del privilegio generale SUPER, è stata proposta una serie di privilegi selettivi «BINLOG ADMIN»,
    «BINLOG REPLAY»,
    «CONNECTION ADMIN»,
    «FEDERATED ADMIN»,
    «READ_ONLY ADMIN»,
    «REPLICATION MASTER ADMIN»,
    «REPLICATION SLAVE ADMIN» e
    «SET USER».
  • Il privilegio «REPLICATION CLIENT» è stato rinominato in «BINLOG MONITOR», e l'espressione «SHOW MASTER STATUS» è stata cambiata in «SHOW BINLOG STATUS». Questa rinomina chiarisce il comportamento e non è correlata alla politically correctness, il progetto non rinuncia ai termini master/slave e ha persino aggiunto nuovi privilegi «MASTER ADMIN» e «SLAVE ADMIN». Inoltre, nell'espressione SQL è stato aggiunto il nuovo chiave «REPLICA», che è un sinonimo di «SLAVE».
  • Per alcune espressioni sono cambiati i privilegi richiesti per la loro esecuzione. «SHOW BINLOG EVENTS» ora richiede i diritti «BINLOG MONITOR» anziché «REPLICATION SLAVE», «SHOW SLAVE HOSTS» richiede il privilegio «REPLICATION MASTER ADMIN» invece di «REPLICATION SLAVE», «SHOW SLAVE STATUS» richiede i diritti «REPLICATION SLAVE ADMIN» o «SUPER» invece di «REPLICATION CLIENT», «SHOW RELAYLOG EVENTS» richiede il privilegio «REPLICATION SLAVE ADMIN» invece di «REPLICATION SLAVE».
  • Sono state aggiunte le strutture «INSERT … RETURNING" e "REPLACE … RETURNING», che restituiscono un elenco delle righe inserite/sostituite in forma, come se i valori fossero restituiti utilizzando l'espressione SELECT (simile a «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 |
    +——+———+———+———-+

  • Sono state aggiunte le espressioni «EXCEPT ALL" e "INTERSECT ALL» per escludere/aggiungere il risultato di un determinato insieme di valori.
  • È ora possibile specificare commenti all'interno dei blocchi «CREATE DATABASE» e «ALTER DATABASE».
  • Sono state aggiunte strutture per rinominare indici e colonne «ALTER TABLE … RENAME INDEX / KEY» e «ALTER TABLE … RENAME COLUMN«.
  • Nell'operazione «ALTER TABLE» e «RENAME TABLE» è stato aggiunto il supporto per la condizione «IF EXISTS» per eseguire l'operazione solo in caso di esistenza della tabella;
  • Per gli indici in «CREATE TABLE» è stato implementato l'attributo «VISIBLE«.
  • È stata aggiunta l'espressione «CYCLE» per identificare cicli ricorsivi CTE.
  • Sono state aggiunte funzioni JSON_ARRAYAGG e JSON_OBJECTAGG per restituire un array o un oggetto JSON con i valori della colonna specificata.
  • Sono state aggiunte tabelle informative di servizio (THREAD_POOL_GROUPS, THREAD_POOL_QUEUES, THREAD_POOL_STATS e THREAD_POOL_WAITS) per il pool di thread (thread_pool).
  • L'espressione ANALYZE è stata ampliata mostrando il tempo impiegato per controllare il blocco WHERE e per eseguire operazioni ausiliarie.
  • Nell'ottimizzatore dell'elaborazione delle gamme sono state considerate le condizioni «IS NOT NULL»
  • È stata notevolmente ridotta la dimensione dei file temporanei utilizzati nella ordinazione con tipi VARCHAR, CHAR e BLOB.
  • In log binario, utilizzato per organizzare la replica, sono stati aggiunti nuovi campi di metadati, inclusi Primary Key, Column Name, Character Set e Geometry Type. Nello strumento mariadb-binlog e nei comandi «SHOW BINLOG EVENTS» e «SHOW RELAYLOG EVENTS» è stata fornita la visualizzazione dei flag di replica.
  • Struttura , ma la situazione con ora affidabile elimina le tabelle che rimangono nel motore di archiviazione, anche in assenza di file «.frm» o «.par».
  • È stata implementata una versione accelerata hardware della funzione crc32() per CPU AMD64, ARMv8 e POWER 8.
  • Sono state modificate alcune impostazioni predefinite. Il parametro innodb_encryption_threads è stato aumentato a 255 e il valore di max_sort_length è stato aumentato da 4 a 8.
  • Sono state presentate numerose ottimizzazioni delle prestazioni del motore InnoDB.
  • È stata aggiunta il supporto completo nel meccanismo di replica multi-master sincronizzata Galera GTID (Global Transaction ID), identificatori di transazione unici per tutti i nodi del cluster.
  • È stato effettuato il passaggio a una nuova versione della libreria PCRE2 (Perl Compatible Regular Expressions), invece della classica serie PCRE 8.x.
  • Sono state offerte nuove versioni dei wrapper per la connessione ai database MariaDB e MySQL da programmi scritti in Python e C: MariaDB Connector/Python 1.0.0 e MariaDB Connector/C 3.1.9. Il wrapper per Python è compatibile con Python DB API 2.0, scritto in linguaggio C e utilizza per la connessione al server la libreria Connector/C.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster