Rilascio stabile del DBMS MariaDB 10.5

Dopo un anno di sviluppo e quattro versioni preliminari è stato preparato il primo rilascio stabile della nuova versione del DBMS MariaDB 10.4, nell'ambito della quale si sviluppa un fork di MySQL, mantenendo la compatibilità retroattiva e caratterizzandosi con l'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 è curato dall'organizzazione indipendente MariaDB Foundation, seguendo un processo di sviluppo completamente aperto e trasparente, indipendente dai singoli fornitori. MariaDB è fornita al posto di MySQL in molte distribuzioni Linux (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) ed è implementata in progetti di grande rilievo come Wikipedia, Google Cloud SQL e Nimbuzz.

Chiave miglioramenti MariaDB 10.5:

  • È stato aggiunto il motore di archiviazione S3, che consente di posizionare le tabelle di MariaDB in Amazon S3 o in qualsiasi altro archivio cloud pubblico o privato che supporti l'API S3. È supportato il posizionamento in S3 sia di tabelle normali che partizionate. Quando si archivia nel cloud tabelle partizionate, esse possono essere utilizzate direttamente anche da un altro server con accesso all'archiviazione S3.
  • È stato aggiunto il motore di archiviazione ColumnStore, che memorizza i dati legati alle colonne e utilizza un'architettura distribuita a parallelismo massiccio. Il motore è basato sui lavori di MySQL store InfiniDB ed è progettato per organizzare l'elaborazione e l'esecuzione di query analitiche su grandi set di dati (Data Warehouse). ColumnStore memorizza i dati non riga per riga, ma per colonne, consentendo di ottimizzare l'esecuzione di raggruppamenti su colonne di database di grandi dimensioni, comprendenti petabyte di dati. Supporta il dimensionamento lineare, l'archiviazione dei dati in forma compressa, la partizione verticale e orizzontale, e l'esecuzione efficace di query concorrenti.
    Tutti i file eseguibili che iniziano con la parola «mysql» sono stati rinominati utilizzando la parola «mariadb». I vecchi nomi sono mantenuti come 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» in «SHOW BINLOG STATUS». La rinomina chiarisce il comportamento e non è legata alla correttezza politica; il progetto non rinuncia ai termini master/slave e ha persino aggiunto nuovi privilegi «MASTER ADMIN» e «SLAVE ADMIN». Inoltre, nell'SQL è stata aggiunta una nuova chiave «REPLICA», sinonimo di «SLAVE».
  • Per alcune espressioni sono stati modificati 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» anziché «REPLICATION SLAVE», «SHOW SLAVE STATUS» richiede i diritti «REPLICATION SLAVE ADMIN» o «SUPER» anziché «REPLICATION CLIENT», «SHOW RELAYLOG EVENTS» richiede i diritti «REPLICATION SLAVE ADMIN» anziché «REPLICATION SLAVE».
  • Sono state aggiunte le costruzioni «
  • INSERT … RETURNINGREPLACE … RETURNING» e «», che restituiscono un elenco delle righe inserite/sostituite come se i valori fossero restituiti utilizzando l'espressione SELECT (similmente 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 |
    +——+———+———+———-+
    Sono state aggiunte le espressioni «
    +——+———+———+———-+
    | 1 | 2 | 1 | 1 |
    | 2 | 4 | 2 | 1 |
    | 3 | 6 | 3 | 1 |
    | 4 | 8 | 4 | 1 |
    +——+———+———+———-+

  • EXCEPT ALLINTERSECT ALL» e «» per escludere/aggiungere il risultato a un determinato insieme di valori.È stata introdotta la possibilità di specificare commenti all'interno dei blocchi «CREATE DATABASE» e «ALTER DATABASE».
  • Sono state aggiunte costruzioni per rinominare indici e colonne «
  • ALTER TABLE … RENAME INDEX / KEYALTER TABLE … RENAME COLUMN» e «Nell'operazione «ALTER TABLE» e «RENAME TABLE» è stata aggiunta la supporto per la condizione «IF EXISTS» per eseguire l'operazione solo se la tabella esiste;«.
  • Per gli indici in «CREATE TABLE» è stato implementato l'attributo «
  • VISIBLEÈ stata aggiunta l'espressione «CYCLE» per identificare cicli ricorsivi«.
  • È stata aggiunta l'espressione «CYCLE» per identificare i cicli ricorsivi CTE.
  • Sono state aggiunte le 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 sistema (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 per mostrare il tempo impiegato per verificare il blocco WHERE e per eseguire operazioni ausiliarie.
  • Nell'ottimizzatore di elaborazione dei range sono stati considerati i criteri «IS NOT NULL»
  • È stato notevolmente ridotto il numero di file temporanei utilizzati durante l'ordinamento con i tipi VARCHAR, CHAR e BLOB.
  • In il log binario, utilizzato per gestire la replica, ha aggiunto nuovi campi di metadati, includendo Primary Key, Column Name, Character Set e Geometry Type. Nello strumento mariadb-binlog e nei comandi «SHOW BINLOG EVENTS» e «SHOW RELAYLOG EVENTS» è stata garantita la visualizzazione dei flag di replica.
  • Struttura DROP TABLE ora elimina in modo affidabile tabelle che rimangono nel motore di archiviazione, anche in assenza di file «.frm» o «.par». tabelle che rimangono nel motore di archiviazione anche in assenza di file «.frm» o «.par».
  • È stata implementata una versione accelerata dell'algoritmo crc32() per CPU AMD64, ARMv8 e POWER 8.
  • Modificate alcune impostazioni predefinite. Il parametro innodb_encryption_threads è stato aumentato a 255 e il valore di max_sort_length è stato incrementato da 4 a 8.
  • Sono state introdotte numerose ottimizzazioni delle prestazioni per il motore InnoDB.
  • Nel meccanismo di replica multi-master sincrona Galera è stata aggiunta la piena supporto del GTID (Global Transaction ID), identificatori di transazione unici per tutti i nodi del cluster.
  • È avvenuto il passaggio a una nuova versione della libreria PCRE2 (Perl Compatible Regular Expressions), al posto della classica serie PCRE 8.x.
  • Sono state proposte nuove versioni dei collegamenti per connettersi 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 collegamento per Python è conforme a Python DB API 2.0, scritto in C e utilizza la libreria Connector/C per connettersi al server.

Fonte: opennet.ru

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