Molti sarebbero d'accordo sul fatto che avere un'interfaccia utente grafica è più efficiente e meno soggetta a errori umani durante la gestione o l'amministrazione di un sistema. L'interfaccia utente grafica (GUI) aiuta notevolmente a ridurre la curva di apprendimento ripida richiesta per aggiornarsi, soprattutto se il software o il sistema è nuovo e complesso per l'utente finale. Per MySQL, il programma di installazione o i pacchetti vengono forniti solo con un'interfaccia a riga di comando (CLI) pronta all'uso. Tuttavia, sul mercato sono disponibili una manciata di software che forniscono una GUI, inclusa quella creata dallo stesso team MySQL chiamato MySQL Workbench.
In questo post del blog esamineremo gli aspetti dell'interfaccia utente grafica di MySQL Workbench e ClusterControl. Entrambi gli strumenti hanno i loro vantaggi e punti di forza, in quanto alcuni set di funzionalità si sovrappongono poiché entrambi gli strumenti supportano le funzionalità di gestione, monitoraggio e amministrazione in una certa misura.
GUI di MySQL Workbench
MySQL Workbench è uno degli strumenti di interfaccia utente grafica (GUI) più popolari e gratuiti per gestire e amministrare un server MySQL. È uno strumento visivo unificato creato per architetti di database, sviluppatori e DBA. MySQL Workbench fornisce strumenti di sviluppo SQL e modellazione dei dati, con strumenti di amministrazione completi per la configurazione del server, l'amministrazione degli utenti, il backup e molto altro. È scritto in C++ e supporta Windows, MacOS, Linux (Ubuntu, RHEL, Fedora) e anche codice sorgente dove lo compili da solo.
MySQL Workbench presuppone che tu abbia un server MySQL già in esecuzione e che l'utente lo utilizzi come interfaccia utente grafica per gestire il tuo server MySQL. Con Workbench puoi eseguire la maggior parte delle attività di gestione e amministrazione del database, come il controllo dei servizi, la configurazione/utente/sessione/connessione/gestione dei dati, nonché lo sviluppo SQL e la modellazione dei dati. Le funzionalità di gestione sono state trattate nei precedenti post del blog di questa serie, Gestione degli utenti del database e Gestione della configurazione.
In termini di monitoraggio, Performance Dashboard offre una visualizzazione rapida delle prestazioni di MySQL su server chiave, rete e parametri InnoDB:
Puoi passare il mouse sopra i vari grafici e immagini per ottenere maggiori informazioni sul valori campionati, aggiornati ogni 3 secondi. Tieni presente che Workbench non memorizza i dati di campionamento da nessuna parte, quindi i grafici vengono popolati dal monitoraggio raccolto nel momento in cui accedi alla dashboard fino alla sua chiusura.
Uno dei punti di forza di MySQL Workbench è la sua funzionalità di modellazione e progettazione dei dati. Ti consente di creare graficamente modelli dello schema del tuo database, eseguire il reverse e forward engineering tra uno schema e un database live e modificare tutti gli aspetti del tuo database utilizzando l'editor completo. Lo screenshot seguente mostra il diagramma entità-relazione (ER) creato e visualizzato con il database di esempio di Workbench of Sakila:
Un'altra caratteristica degna di nota è la procedura guidata di migrazione del database, che consente di migrare tabelle e dati da un sistema di database supportato come Microsoft SQL Server, Microsoft Access, PostgreSQL, Sybase ASE, Sybase SQL Anywhere e SQLite to MySQL:
Questo strumento può far risparmiare tempo a DBA e sviluppatori con il suo visual, punta e clicca facilità d'uso in tutte le fasi di configurazione e gestione di un complesso processo di migrazione. Questa procedura guidata di migrazione può essere utilizzata anche per copiare database da un server MySQL a un altro e anche per eseguire l'aggiornamento all'ultima versione di MySQL utilizzando l'aggiornamento logico.
GUI di ClusterControl
ClusterControl viene fornito con due interfacce utente:GUI e CLI. L'interfaccia utente grafica, nota anche come ClusterControl UI, si basa sulle tecnologie dello stack LAMP. Pertanto, richiede passaggi aggiuntivi per preparare, installare e configurare tutte le dipendenze per un server di database MySQL, un server Web Apache e PHP. Per assicurarsi che tutte le dipendenze siano soddisfatte e configurate correttamente, si consiglia di installare ClusterControl su un nuovo host pulito utilizzando lo script di installazione disponibile sul sito Web.
Una volta installato, apri il tuo browser web preferito e vai su http://ClusterControl_server_IP_address/clustercontrol e inizia a creare l'utente amministratore e la password. Il passaggio successivo consiste nel distribuire un nuovo cluster di database o importare in esso un cluster di database esistente.
ClusterControl raggruppa i server di database per cluster, anche per i nodi di database autonomi. Si concentra maggiormente sulla responsabilità dell'amministrazione del sistema di basso livello sull'automazione, la gestione, il monitoraggio e la scalabilità dei server di database e dei cluster. Una delle interessanti funzionalità della GUI è la visualizzazione della topologia del cluster, che ci offre una panoramica di alto livello sull'aspetto dell'attuale architettura del database, incluso il livello di bilanciamento del carico:
La vista Topologia fornisce un riepilogo in tempo reale dello stato del cluster/nodo , flusso di dati di replica e relazione tra i membri nel cluster. Potresti sapere per la replica di MySQL, il ruolo del database e il flusso di replica sono molto critici, specialmente dopo che si è verificato un evento di modifica della topologia come un errore del master, una promozione dello slave o un passaggio.
ClusterControl fornisce molte procedure guidate dettagliate per aiutare gli utenti a distribuire, gestire e configurare i loro server di database. La maggior parte delle attività difficili e complesse sono configurabili tramite questa procedura guidata, come la distribuzione di un cluster, l'importazione di un cluster, l'aggiunta di un nuovo nodo di database, la distribuzione di un servizio di bilanciamento del carico, la pianificazione di un backup, il ripristino di un backup e l'esecuzione della verifica del backup. Ad esempio, se desideri pianificare un backup, sono necessari diversi passaggi a seconda del metodo di backup scelto, della destinazione del backup scelta e di molte altre variabili. L'interfaccia utente verrà aggiornata dinamicamente in base alle opzioni scelte, come evidenziato dalla seguente schermata di backup della pianificazione:
Nello screenshot sopra, possiamo dire che ci sono 4 passaggi principali per pianificare questo tipo di backup in base agli input specificati nel primo (scegliere se creare o pianificare un backup) e nel secondo passaggio (questa pagina). Il terzo passaggio riguarda la configurazione di xtrabackup (il metodo di backup scelto in questa pagina), l'ultimo passaggio riguarda la configurazione della destinazione di backup sul cloud (la destinazione di backup scelta in questa pagina). La configurazione delle impostazioni avanzate non è davvero un ostacolo utilizzando ClusterControl. Se non sei sicuro di tutte le opzioni avanzate, accetta semplicemente i valori predefiniti che comunemente si adattano ai backup generici.
Sebbene l'interfaccia grafica sia un'applicazione basata sul Web, tutti i componenti di monitoraggio e trend come grafici, istogrammi, stato e griglie variabili vengono aggiornati in tempo reale con impostazioni personalizzabili di intervallo e frequenza di aggiornamento per adattarsi al tuo monitoraggio esigenze:
Vantaggi e svantaggi
MySQL Workbench è relativamente facile da installare senza dipendenze in esecuzione come applicazione autonoma. Ha tutte le funzionalità necessarie per gestire e amministrare gli oggetti di database richiesti per la tua applicazione. È gratuito e open source e supportato dal team che gestisce il server MySQL stesso. Le nuove funzionalità di MySQL sono generalmente supportate da MySQL Workbench prima che le masse lo adottino.
Sul lato negativo, MySQL Workbench non supporta le versioni mobile o tablet. Tuttavia, ci sono altri strumenti simili disponibili sul rispettivo app store. Le funzionalità di monitoraggio delle prestazioni per MySQL Workbench sono utili (anche se semplici) mettendo in evidenza solo le metriche comuni più i dati di monitoraggio non vengono archiviati per riferimenti futuri.
ClusterControl GUI è un'applicazione basata sul Web accessibile da tutti i dispositivi in grado di eseguire i browser Web supportati, sia che si tratti di un normale PC, laptop, smartphone o tablet. Supporta la gestione di più fornitori di database, sistemi e versioni e memorizza tutti i dati di monitoraggio nel suo database che può essere utilizzato per tenere traccia di eventi passati con funzionalità di avviso proattivo. In termini di gestione, ClusterControl offre uno schema di base e una gestione degli utenti, ma di gran lunga superiore per altre funzionalità di gestione avanzate come la configurazione, il ripristino automatico, il passaggio, la replica, il ridimensionamento dei nodi e la gestione del bilanciamento del carico.
Tra gli svantaggi, ClusterControl dipende da una serie di programmi software per funzionare senza problemi. Questi includono un server MySQL adeguatamente sintonizzato, un server Web Apache e anche moduli PHP. Richiede inoltre aggiornamenti software regolari per stare al passo con tutte le modifiche introdotte da molti fornitori che supporta. I target degli utenti finali di ClusterControl sono Sysadmins e DevOps, quindi non ha molte funzionalità GUI per gestire gli oggetti del database (tabelle, viste, routine, ecc.) e lo sviluppo SQL come editor SQL, evidenziatore e formattatore.
La tabella seguente confronta alcune delle caratteristiche dell'interfaccia utente grafica degne di nota su entrambi gli strumenti:
Aspetto | MySQL Workbench | Controllo cluster |
Monitoraggio |
|
|
Avvisi | No |
|
Gestione |
|
|
Distribuzione | No |
|
Modellazione e progettazione dei dati | Sì | No |
Sviluppo SQL | Sì | No |
Strumento di migrazione del database | Sì | No |
Procedura guidata passo passo | Sì | Sì |
Vista topologia | No | Sì |
Costo |
Edizione Community (gratuita) | Edizione comunitaria (gratuita) Edizione Enterprise (abbonamento) |