Gestire più tecnologie di database open source in qualsiasi ambiente può essere un compito arduo, soprattutto se hai meno risorse. Lo scenario potrebbe essere peggiore se la distribuzione, il monitoraggio e altre attività di gestione del database vengono eseguite manualmente. Se questo scenario sembra familiare, questo blog può aiutarti ad automatizzare la gestione di database eterogenei open source utilizzando strumenti di automazione di database come ClusterControl.
Per le organizzazioni o le aziende che cercano soluzioni aziendali per gestire i propri database open source basati su diverse tecnologie, ClusterControl sarebbe un'ottima opzione. ClusterControl supporta varie popolari tecnologie di database open source, tra cui MySQL, MongoDB, PostgreSQL, MariaDB e molte altre, ed è utilizzato da grandi organizzazioni e aziende per applicazioni aziendali e architetture complesse.
Gli architetti delle soluzioni possono utilizzare in modo efficiente ClusterControl per adattarsi all'ambiente e all'architettura esistenti. ClusterControl è un'applicazione monolitica ma ha più componenti che comunicano con cmon. Questi componenti funzionano in modo cooperativo per gestire senza problemi i diversi tipi di database open source supportati da ClusterControl.
Fornitori di database supportati da ClusterControl
ClusterControl ti consente di distribuire o creare un cluster di database da zero per vari database open source che vanno da RDBMS a NoSQL. Tutto quello che devi fare è fornire informazioni sulla connettività del server come le credenziali SSH. ClusterControl gestirà tutte le stranezze e le curiosità richieste per eseguire i server di database limitati ai sistemi operativi Linux supportati. ClusterControl aggiungerà i parametri di configurazione richiesti, aiuterà con l'ottimizzazione e gli utenti ritenuti necessari, in particolare per i backup, la ridondanza e l'elevata disponibilità per i database registrati (o creati) e importati.
La maggior parte delle tecnologie di database supportate da ClusterControl (escluse le varianti MongoDB e NDB) possono essere collegate facilmente con vari bilanciatori di carico o proxy, il che è facilmente configurabile con pochi clic utilizzando l'interfaccia utente di ClusterControl .
Ecco come appare quando ClusterControl gestisce più tecnologie di database:
ClusterControl può gestire migliaia di cluster, ma questo dipende dalla capacità e dalle risorse del tuo server che ospita il software ClusterControl.
MySQL/MariaDB/Percona Server
Oracle MySQL può essere distribuito o importato in ClusterControl e può essere configurato come replica primary-standby/master-slave. Per impostazione predefinita, una volta distribuita e configurata tramite ClusterControl, la replica Oracle MySQL utilizzerà la replica semi-sincronizzata, che offre maggiore coerenza rispetto alla replica asincrona. Questa viene configurata e impostata come configurazione standard dal monitor ClusterControl - cmon - durante la distribuzione di una replica standby primaria.
MariaDB e Percona Server possono essere configurati come replica primaria-standby/master-slave e possono anche essere configurati utilizzando il plug-in di replica Galera per creare una replica sincrona. Come per Oracle MySQL, l'impostazione della replica in standby primario si applica allo stesso modo anche per una replica in standby primario.
Se MariaDB e Percona Server sono configurati per distribuire un cluster Galera, significa che la replica da configurare è considerata una replica sincrona.
Cluster MySQL (NDB)
ClusterControl supporta anche MySQL Cluster (NDB), un sistema di database distribuito comunemente utilizzato nelle telecomunicazioni o nei settori correlati. Questa tecnologia è progettata per un'elevata disponibilità e ampiamente utilizzata nelle applicazioni aziendali mission-critical che richiedono livelli di prestazioni elevati. ClusterControl distribuisce NDB con un'interfaccia utente ed è ragionevolmente facile da configurare dal punto di vista dell'utente. Tuttavia, le funzionalità di monitoraggio e gestione per NDB sono limitate rispetto a quanto offerto per le altre tecnologie di database. Sebbene MySQL Cluster (NDB) sia un database complicato da gestire, una volta che ti abitui a lavorare con NDB, può essere potente, soprattutto con le sue capacità altamente disponibili.
PostgreSQL/TimescaleDB
Citato come il database relazionale open source più avanzato al mondo, PostgreSQL può essere distribuito o importato in ClusterControl e con funzionalità avanzate da offrire. ClusterControl consente all'utente di impostare una replica PostgreSQL per scegliere la replica sincrona o asincrona tradizionale.
TimescaleDB è un'estensione di PostgreSQL, specializzato principalmente come database relazionale open source per dati di serie temporali. Sebbene ci siano pochissime differenze su come cmon gestisce TimescaleDB su PostgreSQL, la maggior parte delle funzionalità, se non tutte, sono le stesse. Può differire nelle versioni supportate, ma la gestione e il monitoraggio per entrambi sono gli stessi.
Server MongoDB/Percona per MongoDB
ClusterControl supporta MongoDB o Percona Server per MongoDB come parte della famiglia di database NoSQL. Entrambi i fornitori non presentano differenze su come viene gestito e monitorato da ClusterControl. Tutte le funzionalità presenti per abilitare il supporto NoSQL da parte di ClusterControl sono applicabili per entrambi i fornitori. Puoi distribuire un ReplicaSet o MongoDB Shard con ClusterControl ed è abbastanza facile da gestire e configurare.
Failover automatico con ClusterControl
ClusterControl è progettato per gestire automaticamente gli errori senza ulteriori modifiche dal lato amministrativo. I guasti possono presentarsi sotto forma di guasto hardware, danneggiamento dei dati o incidenti come l'uccisione dell'ID processo o l'eliminazione fisica della directory dei dati. ClusterControl è realizzato con modalità di ripristino automatico per il ripristino di cluster e nodi, come illustrato di seguito:
Il ripristino del nodo significa che ClusterControl può ripristinare un nodo del database in caso di errore intermittente monitorando il processo e la connettività ai nodi del database. Il processo funziona in modo simile a systemd, dove si assicurerà che il servizio MySQL sia avviato e in esecuzione a meno che tu non lo abbia interrotto intenzionalmente tramite l'interfaccia utente di ClusterControl.
D'altra parte, il ripristino del cluster garantisce che ClusterControl comprenda la topologia del database e segua le migliori pratiche nell'esecuzione del ripristino. Per un cluster di database dotato di tolleranza agli errori incorporata come Galera Cluster, NDB Cluster e MongoDB Replicaset, il processo di failover verrà eseguito automaticamente dal server di database tramite calcolo del quorum, heartbeat e cambio di ruolo (se presente). ClusterControl monitora il processo e apporta le modifiche necessarie alla visualizzazione, ad esempio riflettendo le modifiche nella vista Topologia e adattando il componente di monitoraggio e gestione per il nuovo ruolo, ad esempio, nuovo nodo primario in un set di repliche.
Se vuoi saperne di più su questo processo, fallo qui.
Garantire che la tua infrastruttura sia sicura
La sicurezza è anche uno degli aspetti più importanti dell'esecuzione di un database. Che tu sia uno sviluppatore o un DBA, è tua responsabilità salvaguardare i tuoi dati e proteggerli da accessi non autorizzati se gestisci database.
Mantenere i database al sicuro richiede attenzione ai dettagli e comprensione della crittografia, sia in transito che a riposo. Alcuni settori sono tenuti a standard di responsabilità elevati con pesanti specificità per il mancato rispetto (si pensi al GDPR e simili.)
Invece di lasciare che i tuoi team configurino manualmente i loro database open source, con l'interfaccia utente point-and-click di ClusterControl, puoi distribuire facilmente e in modo sicuro per eliminare l'errore umano. È inoltre dotato di funzionalità di sicurezza avanzate che aggiungono un elevato livello di protezione all'infrastruttura del database mantenendo i dati al sicuro.
Protezione dei tuoi dati
ClusterControl offre un'interfaccia utente efficiente e facile da usare per abilitare SSL, che automatizza la configurazione e l'impostazione del livello di trasmissione sicuro. Ad esempio, nelle varianti del database MySQL, questo può essere posizionato nella scheda Sicurezza come mostrato di seguito:
ClusterControl abilita SSL/TLS per la comunicazione client-server e la comunicazione all'interno della replica in un cluster di replica basato su Galera, come mostrato nello screenshot sopra. ClusterControl offre anche funzionalità di backup avanzate che ti consentono di abilitare la crittografia a riposo, come mostrato nello screenshot seguente:
Autore fotoDescrizione foto
Automazione database con ClusterControl
Gli script di automazione non sono richiesti nemmeno quando si dispone di ClusterControl. Ad esempio, in ClusterControl, i backup possono essere creati ed eseguiti al volo e si può anche creare una policy di backup e pianificare un backup in modo che venga eseguito automaticamente. Ecco come funziona:
Ogni azione attiva un lavoro in background nell'applicazione e riceverai una notifica quando il lavoro sarà completato. Ad esempio, in base al backup che abbiamo attivato in precedenza, vedremo che una volta terminato questo lavoro, verrà attivato un allarme e inviato in modo appropriato via e-mail o tramite il sistema di notifica integrato di terze parti. Ciò dipende dalle preferenze di configurazione all'interno di ClusterControl. Nello screenshot di esempio riportato di seguito, ClusterControl attiva l'allarme poiché ti informa di un backup riuscito eseguito tramite il meccanismo dell'ambiente automatizzato.
Conclusione
ClusterControl rende efficiente e facile gestire database e ambienti di grandi dimensioni utilizzando più tecnologie di database. Sebbene ClusterControl sia monolitico, offre molti vantaggi e supporta diversi tipi di architetture poiché può essere eseguito tramite cloud o ambienti containerizzati. Prova ClusterControl gratuitamente per 30 giorni oggi e ci vediamo al prossimo.