MariaDB
 sql >> Database >  >> RDS >> MariaDB

Novità di MariaDB 10.6

A partire da gennaio 2022, ClusterControl v1.9.2 ha introdotto il supporto per l'ultima versione di MariaDB — versione 10.6. MariaDB 10.6, rilasciata a luglio 2021, sarà supportata per i prossimi quattro anni o precisamente fino a luglio 2026.

In questo post, evidenzieremo le principali funzionalità di MariaDB 10.6.

DDL atomico (Data Definition Language)

La prima funzione che tratteremo è Atomic DDL. Per definizione, "atomico" significa che l'operazione ha esito positivo e viene registrata nei log binari, oppure è completamente invertita. A partire da MariaDB 10.6.1, MariaDB ha migliorato la leggibilità delle operazioni del DDL rendendo la maggior parte atomica mentre il resto è a prova di crash, anche se il server si arresta in modo anomalo durante l'esecuzione di qualsiasi operazione. Sia Atomic che Crash-safe sono stati sviluppati per funzionare con tutti i motori di archiviazione, ad eccezione del motore di archiviazione S3 e del motore di partizionamento, che sono ancora in fase di elaborazione.

In questa versione, ALTER TABLE, RENAME TABLE, CREATE TABLE, DROP TABLE, DROP DATABASE e le relative istruzioni DDL sono ora atomic ready. L'elenco completo delle altre operazioni Atomic DDL può essere trovato qui. Il bello della nuova implementazione atomica e a prova di crash è che il server MariaDB è diventato molto più stabile, per non parlare dell'affidabilità, anche in ambienti instabili.

Sintassi SQL

In termini di categoria SQL Syntax, sono state aggiunte alcune nuove funzionalità. Il primo che vedremo è:

SELEZIONA... OFFSET... RECUPERA

La clausola OFFSET ci consentirà di restituire solo quei segmenti di un insieme di risultati che arrivano dopo un offset definito. D'altra parte, la clausola FETCH limita il numero di righe da restituire. Che si tratti di una ROW singolare o di una ROWS plurale, entrambe potrebbero essere utilizzate dopo le clausole OFFSET e FETCH in quanto non hanno alcun impatto sui risultati.

SALTA BLOCCATO

Forse alcuni di noi hanno familiarità con questa sintassi poiché è stata importata e adattata da MySQL. Con SALTA BLOCCATO, potremmo saltare qualsiasi RIGA bloccata durante l'esecuzione di operazioni SELEZIONA o AGGIORNA. È sicuramente una funzionalità utile, soprattutto per le applicazioni che consentono a più utenti di prenotare risorse limitate come camere d'albergo, posti aerei, biglietti per concerti, ecc. 

Indici ignorati

Indici ignorati è simile alla funzione "indici invisibili" in MySQL 8. Tutti gli indici visibili e gestiti ma non utilizzati dall'ottimizzatore possono essere definiti come indici ignorati. Questo può essere molto utile quando si testano le superfici se si elimina un indice prima di farlo cadere. Nel caso emergesse un problema, potremmo riattivarlo immediatamente (contrassegnando l'indice IGNORATO/NON IGNORATO).

JSON_TABLE

Questa funzione tabella è anche importata da MySQL, dove potrebbe trasformare dati o documenti JSON in una forma relazionale. In questa versione, MariaDB ha abilitato una visualizzazione tabella nei dati JSON archiviati nel database MariaDB e, utilizzando SQL, tutte le query verranno restituite come una tabella normale.

Compatibilità Oracle

MariaDB è stata la pioniera nel mondo dei database open source che ha aggiunto la compatibilità PL/SQL. A partire da MariaDB 10.3, sono state aggiunte molte sintassi e funzioni per facilitare la migrazione da Oracle a MariaDB. Come per MariaDB 10.6, le seguenti sono funzionalità introdotte per rendere MariaDB più compatibile con PL/SQL:

  • Le sottoquery anonime in una clausola FROM (nessuna clausola AS) sono consentite in modalità ORACLE

  • Aggiunta ADD_MONTHS() 

    • funzione per aggiungere/sottrarre mesi da un determinato valore di data.

  • TO_CHAR() aggiunto

    • supporta NUMBER, DATE, DATETIME, TIMESTAMP, ecc. come parametri e restituisce un valore di TESTO formattato/convertito

  • SYS_GUID() aggiunto 

    • simile alla funzione UUID in MariaDB

  • MINUS è mappato su EXCEPT in UNION 

  • La funzione ROWNUM restituisce il numero corrente di righe accettate nel contesto corrente 

Replica, Galera e Binlog

In questa categoria, MariaDB ha introdotto binlog_expire_logs_seconds come una forma di alias per require_logs_days, il che significa che qualsiasi modifica a uno di essi si rifletterà automaticamente nell'altro. Inoltre, binlog_expire_logs_seconds accetta una precisione di 1/1000000 giorni. Ciò è particolarmente utile nelle scritture ad alto volume su master e quando l'ambiente ha uno spazio su disco limitato.

Oltre a ciò, MariaDB ha introdotto anche le variabili di sistema wsrep_mode. Questa variabile abilita le funzionalità WSREP che non fanno parte del comportamento predefinito come BINLOG_ROW_FORMAT_ONLY, DISALLOW_LOCAL_GTID, REQUIRED_PRIMARY_KEY, REPLICATE_ARIA, REPLICATE_MYISAM, STRICT_REPLICATION.

Schema Sys

La funzionalità successiva è sys_schema, una raccolta di viste, funzioni e procedure. Non c'è dubbio che sys_schema aiuta DBA e sviluppatori in molti modi durante l'interpretazione dei dati; molte informazioni e informazioni diagnostiche potrebbero essere raccolte da esso. sys_schema non viene utilizzato solo per la risoluzione dei problemi di prestazioni, ma aiuta anche a gestire le risorse in modo efficiente. Per fortuna, ora è disponibile in MariaDB 10.6.

Schema informativo

La nuova funzionalità aggiunta in questa categoria è INFORMATION_SCHEMA.KEYWORDS e INFORMATION_SCHEMA.SQL_FUNCTIONS. La tabella KEYWORDS contiene circa 694 righe di parole chiave MariaDB, mentre la tabella SQL_FUNCTIONS contiene circa 234 righe di funzioni MariaDB. Con queste due tabelle, ora possiamo ottenere lo Schema Informativo ad esse relativo nel caso in cui ne avessimo bisogno.

Conclusione

Oltre a queste nuove funzionalità introdotte in MariaDB 10.6, sono stati apportati molti altri miglioramenti che non sono stati discussi in questo post. Sebbene molte di queste funzionalità siano state prese da MySQL, queste aggiunte sono comunque molto vantaggiose per gli utenti.

Come accennato in precedenza, ClusterControl attualmente supporta MariaDB 10.6. Con ClusterControl è possibile eseguire facilmente l'aggiornamento all'ultima versione della tecnologia senza stress. Se non hai ancora familiarità con ClusterControl, puoi valutarlo gratuitamente per 30 giorni, senza bisogno di CC.

Per rimanere aggiornato con tutte le ultime notizie e le migliori pratiche per i database open source più popolari, non dimenticare di seguirci su Twitter e LinkedIn e iscriviti alla nostra newsletter per gli aggiornamenti.