Annunciato come parte della versione ClusterControl 1.5, ora forniamo il supporto completo per MariaDB versione 10.2. Questa nuova versione offre un'integrazione ancora maggiore con Galera Cluster, la soluzione HA preferita di MariaDB, e presenta anche miglioramenti a SQL come funzioni finestra, espressioni di tabelle comuni e funzioni JSON.
MariaDB è il database open source in più rapida crescita, che raggiunge oltre 60 milioni di sviluppatori in tutto il mondo grazie alla sua inclusione in tutte le principali distribuzioni Linux, oltre a una presenza crescente nei principali fornitori di cloud del mondo. Il suo uso diffuso su distribuzioni Linux e piattaforme cloud, nonché la sua facilità d'uso, hanno rapidamente reso MariaDB lo standard di database open source per l'impresa moderna.
Il server MariaDB è stato elencato nel recente sondaggio OpenStack come la tecnologia di database numero uno e due in uso oggi.
Cosa c'è di nuovo nella versione 10.2?
MariaDB Server 10.1 ha introdotto l'integrazione predefinita di Galera Cluster per consentire ai suoi utenti di ottenere il massimo in termini di alta disponibilità. Diversinines è stato uno dei primi ad adottare questa tecnologia di clustering ed è stato entusiasta di vedere MariaDB adottarla per HA.
Ecco alcuni dei miglioramenti inclusi nella nuova versione 10.2 annunciata da MariaDB…
- I miglioramenti SQL come le funzioni della finestra, le espressioni di tabella comuni e le funzioni JSON consentono nuovi casi d'uso per MariaDB Server
- La replica standard di MariaDB Server presenta ulteriori ottimizzazioni
- Molte limitazioni di area sono state rimosse, il che consente un utilizzo più semplice e non è necessario gestire le limitazioni a livello di applicazione
- È stato introdotto MyRocks, un nuovo motore di archiviazione sviluppato da Facebook, che arricchirà ulteriormente i casi d'uso per MariaDB Server (NOTA:questo nuovo motore di archiviazione è ora disponibile anche per le distribuzioni di MariaDB in ClusterControl, tuttavia ClusterControl lo fa non supporta ancora il monitoraggio specifico di MyRocks .)
Funzioni della finestra
Le funzioni della finestra sono popolari in Business Intelligence (BI) in cui è necessaria una generazione di report più complessa basata su un sottoinsieme di dati, come le metriche del paese o del team di vendita. Un altro caso d'uso comune è quando i dati basati su serie temporali devono essere aggregati in base a una finestra temporale anziché solo a un record corrente, come tutte le righe all'interno di un determinato intervallo di tempo.
Poiché l'analisi sta diventando sempre più importante per gli utenti finali, le funzioni della finestra offrono un nuovo modo di scrivere query SQL analitiche ottimizzate per le prestazioni, che sono facili da leggere e gestire ed eliminano la necessità di scrivere costose sottoquery e self-join.
Espressioni di tabelle comuni
Le query gerarchiche e ricorsive vengono in genere implementate utilizzando le espressioni di tabella comuni (CTE). Sono simili alle tabelle derivate in una clausola FROM, ma disponendo di una parola chiave di identificazione WITH, l'ottimizzatore può produrre piani di query più efficienti. Agendo come un set di risultati temporaneo e denominato creato automaticamente, valido solo per il momento della query, può essere utilizzato per l'esecuzione ricorsiva e gerarchica e consente anche il riutilizzo del set di dati temporaneo. Avere un metodo dedicato aiuta anche a creare codice SQL più espressivo e più pulito.
Funzioni JSON
JSON (JavaScript Object Notation), un formato di scambio dati basato su testo e indipendente dalla piattaforma, viene utilizzato non solo per lo scambio di dati, ma anche come formato per archiviare dati non strutturati. MariaDB Server 10.2 offre più di 24 funzioni JSON per consentire l'interrogazione, la modifica, la convalida e l'indicizzazione dei dati in formato JSON, che sono archiviati in un campo di testo di un database. Di conseguenza, il potente modello relazionale di MariaDB può essere arricchito lavorando con dati non strutturati, ove richiesto.
Attraverso l'uso di colonne virtuali, la funzione JSON, JSON_VALUE e la più recente funzionalità di indicizzazione di MariaDB Server 10.2 su colonne virtuali, i valori JSON verranno automaticamente estratti dalla stringa JSON, archiviati in una colonna virtuale e indicizzati fornendo l'accesso più rapido al JSON stringa.
Utilizzando la funzione JSON JSON_VALID, i nuovi CHECK CONSTRAINTS in MariaDB Server 10.2 garantiscono che solo le stringhe JSON del formato JSON corretto possano essere aggiunte in un campo.
Ripristino basato su log binari
L'utilità mysqlbinlog migliorata fornita con MariaDB Server 10.2 include una nuova funzione di rollback point-in-time, che consente a un database o una tabella di tornare a uno stato precedente e fornisce un rollback basato su log binari di dati già impegnati. Lo strumento mysqlbinlog non sta modificando direttamente alcun dato, sta generando un "file di esportazione" che include le dichiarazioni ripristinate delle transazioni, registrate in un file di registro binario. Il file creato può essere utilizzato con il client della riga di comando o un altro strumento SQL per eseguire le istruzioni SQL incluse. In questo modo verrà eseguito il rollback di tutte le transazioni impegnate fino a un determinato timestamp.
Nel caso di errori logici come l'aggiunta, la modifica o l'eliminazione di dati, finora l'unico modo possibile è stato utilizzare mysqlbinlog per rivedere le transazioni e risolvere i problemi manualmente. Tuttavia, questo spesso porta all'incoerenza dei dati perché le correzioni in genere indirizzano solo l'istruzione errata, ignorando così altre dipendenze dei dati.
Tipicamente causato da un DBA o da un errore dell'utente, il ripristino di un database di grandi dimensioni può causare una significativa interruzione del servizio. Il rollback delle ultime transazioni utilizzando il rollback point-in-time richiede solo il tempo dell'estrazione, una breve revisione e l'esecuzione delle transazioni ripristinate, risparmiando tempo prezioso, risorse e servizio.
Perché MariaDB?
Con diverse opzioni MySQL tra cui scegliere, perché scegliere MariaDB come tecnologia per potenziare la tua applicazione? Ecco alcuni dei vantaggi della selezione di MariaDB...
- MariaDB è costruito su un'architettura moderna che è estensibile a ogni livello:client, cluster, kernel e storage. Questa estensibilità offre due vantaggi principali. Consente l'innovazione continua della comunità tramite plug-in e consente ai clienti di configurare facilmente MariaDB per supportare un'ampia varietà di casi d'uso da OLTP a OLAP.
- MariaDB sviluppa funzionalità e miglioramenti che fanno parte della propria roadmap, indipendentemente da Oracle/MySQL. Ciò consente a MariaDB di accettare e attrarre una più ampia innovazione della comunità, nonché di aggiungere nuove funzionalità sviluppate internamente che semplificano la migrazione da sistemi proprietari a MariaDB open source.
- MariaDB è progettato per proteggere il database a ogni livello, rendendolo un database generico affidabile utilizzato in settori come il governo e le banche che richiedono le funzionalità di sicurezza di più alto livello.
- MariaDB offre supporto per una varietà di motori di archiviazione, incluso il supporto NoSQL, offrendo ai suoi utenti diverse scelte per determinare quello che funzionerà meglio con il loro ambiente.
- MariaDB ha implementato molti miglioramenti per il miglioramento delle prestazioni, comprese le ottimizzazioni delle query che, in diversi test di benchmark, consentono a MariaDB di ottenere prestazioni migliori del 3-5% rispetto a un ambiente MySQL configurato in modo simile.
ClusterControl per MariaDB
ClusterControl fornisce supporto per ciascuna delle migliori tecnologie MariaDB...
- Server MariaDB: MariaDB Server è un database generico progettato con un'architettura estensibile per supportare un'ampia serie di casi d'uso tramite motori di archiviazione collegabili, come InnoDB, MyRocks e Spider.
- Replica master/slave asincrona integrata
- Colonne dinamiche che consentono a righe diverse di memorizzare dati diversi nella stessa colonna
- Crittografia integrata
- Ottimizzazione delle query
- Compatibilità degli schemi migliorata
- Ammasso MariaDB: MariaDB Cluster è realizzato per gli ambienti basati su cloud di oggi. È completamente scalabile in lettura-scrittura, viene fornito con replica sincrona, consente topologie multi-master e non garantisce ritardi o transazioni perse.
- Replica sincrona senza slave lag o transazioni perse
- Topologia multimaster attiva-attiva
- Leggi e scrivi su qualsiasi nodo del cluster
- Controllo automatico dell'appartenenza, con nodi non riusciti eliminati dal cluster
- Unione automatica del nodo
- Replica parallela a livello di riga reale
- Connessioni client dirette, aspetto nativo di MariaDB
- Scalabilità sia in lettura che in scrittura
- MariaDB MaxScale: MariaDB MaxScale è un proxy di database che estende l'elevata disponibilità, scalabilità e sicurezza di MariaDB Server semplificando allo stesso tempo lo sviluppo delle applicazioni disaccoppiandole dall'infrastruttura del database sottostante.
- Include Database Firewall e protezione DoS
- Separazione lettura-scrittura
- Mascheramento dei dati
- Sharding basato su schema
- Memorizzazione delle query nella cache