Mysql
 sql >> Database >  >> RDS >> Mysql

Confronto di Percona XtraBackup con MySQL Enterprise Backup:prima parte

| meno e soddisfano severi requisiti di sicurezza.

Esistono diversi modi per eseguire il backup di un database MySQL, ma possiamo dividere questi metodi in due gruppi:logici e fisici.

I backup logici contengono dati che vengono esportati utilizzando i comandi SQL e archiviati in un file. Può essere, ad esempio, un insieme di comandi SQL che, una volta eseguiti, risulteranno nel ripristino del contenuto del database. Con alcune modifiche alla sintassi del file di output, puoi archiviare il backup in file CSV.

I backup logici sono facili da eseguire, solo con una riga, puoi eseguire un backup di tutte le tue tabelle, database o tutti i database mysql nell'istanza.

Purtroppo i backup logici hanno molte limitazioni. Di solito sono più lenti di uno fisico. Ciò è dovuto al sovraccarico necessario per eseguire i comandi SQL per estrarre i dati e quindi per eseguire un altro set di comandi SQL per riportare i dati nel database. Sono meno flessibili, a meno che tu non scriva carichi di lavoro di backup complessi che includerebbero più passaggi. Non funziona bene in un ambiente parallelo, fornisce meno sicurezza e così via e così via.

Backup fisici in MySQL World

MySQL non viene fornito con il backup fisico online per l'edizione community. Puoi pagare per una versione Enterprise o utilizzare uno strumento di terze parti. Lo strumento di terze parti più popolare sul mercato è XtraBackup. Quelli che confronteremo in questo articolo del blog.

Percona XtraBackup è il software di backup a caldo MySQL/MariaDB molto popolare e open source che esegue backup non bloccanti per i database InnoDB e XtraDB. Rientra nella categoria del backup fisico, che consiste in copie esatte della directory dei dati MySQL e dei file sottostanti.

Uno dei maggiori vantaggi di XtraBackup è che non blocca il database durante il processo di backup. Per database di grandi dimensioni (oltre 100 GB), fornisce tempi di ripristino molto migliori rispetto a mysqldump. Il processo di ripristino prevede la preparazione dei dati MySQL dai file di backup, prima di sostituirli o cambiarli con la directory dei dati corrente sul nodo di destinazione.

Percona XtraBackup funziona ricordando il numero di sequenza del registro (LSN) all'avvio e quindi copia i file di dati in un'altra posizione. La copia dei dati richiede tempo e, se i file cambiano, riflettono lo stato del database in momenti diversi. Allo stesso tempo, XtraBackup esegue un processo in background che tiene d'occhio i file di registro delle transazioni (noti anche come redo log) e copia le modifiche da esso. Questo deve essere fatto continuamente perché i registri delle transazioni sono scritti in modo round-robin e possono essere riutilizzati dopo un po'. XtraBackup necessita dei record del registro delle transazioni per ogni modifica ai file di dati dall'inizio dell'esecuzione.

Utilizzando questo strumento puoi:

  • Crea backup InnoDB a caldo, che vengono completati in modo rapido e affidabile, senza mettere in pausa il database o aggiungere carico al server
  • Esegui backup incrementali
  • Sposta le tabelle tra i server MySQL online
  • Crea facilmente nuovi slave di replica MySQL
  • Trasmetti backup MySQL compressi su un altro server
  • Risparmia spazio su disco e larghezza di banda della rete

MySQL Enterprise Backup offre backup a caldo, online e non bloccanti su più piattaforme. Non è uno strumento di backup gratuito, ma offre molte funzionalità. Il costo della licenza standard è di $ 5000 (ma può variare in base all'accordo con Oracle.) 

Processo di backup delle piattaforme supportate

MySQL Enterprise

Può funzionare su Linux, Windows, Mac e Solaris. Ciò che è essenziale può anche archiviare il backup su nastro, che di solito è una soluzione più economica rispetto alle scritture su dischi. Le scritture dirette su nastro supportano l'integrazione con Veritas Netbackup, Tivoli Storage Manager ed EMC NetWorker.

XtraBackup

XtraBackup può essere eseguito solo su piattaforma Linux, che potrebbe essere senza dubbio un ostacolo per chi gira su Windows. Una soluzione qui potrebbe essere la replica sullo slave in esecuzione su Linux ed eseguire il backup da lì.

Principali differenze nel processo di backup

MySQL Enterprise Backup fornisce un ricco set di caratteristiche e funzionalità di back e recovery, inclusi significativi miglioramenti delle prestazioni rispetto ai metodi di backup MySQL esistenti.

Oracle mostra che il backup di Enterprise è addirittura 49 volte più veloce di mysqldump. Questo, ovviamente, può variare a seconda dei tuoi dati, tuttavia ci sono molte funzionalità per migliorare il processo di backup. Un backup parallelo è sicuramente una delle maggiori differenze tra mysqldump e il backup Enterprise. Aumenta le prestazioni grazie all'elaborazione multi-thread. La caratteristica più interessante, tuttavia, è la compressione.

--comprimi

Crea un backup in formato compresso. Per un backup regolare, tra tutti i motori di archiviazione supportati da MySQL, vengono compressi solo i file di dati in formato InnoDB e dopo la compressione portano l'estensione .ibz. Allo stesso modo, per un backup di una singola immagine, vengono compressi solo i file di dati del formato InnoDB all'interno dell'immagine di backup. I file di registro binario e registro di inoltro vengono compressi e salvati con estensione .bz quando vengono inclusi in un backup compresso.

-compress-method=zlib,lz4(default), lzma, punch-hole

--compress-level=LEVEL(0-9)

--include-tables=REGEXP

Backup MySQL con ClusterControl

ClusterControl consente di pianificare i backup utilizzando XtraBackup e mysqldump. Può archiviare i file di backup localmente sul nodo in cui viene eseguito il backup, oppure i file di backup possono anche essere trasmessi in streaming al nodo controller e compressi al volo. Non supporta il backup di MySQL Enterprise, tuttavia con le funzionalità estese di mysqldump e XtraBackup potrebbe essere una buona opzione.

ClusterControl è il sistema di gestione di database open source all-inclusive per utenti con ambienti misti. Fornisce funzionalità avanzate di gestione del backup per MySQL o MariaDB.

Con ClusterControl puoi:

  • Crea criteri di backup
  • Monitoraggio dello stato, delle esecuzioni e dei server dei backup senza backup
  • Esegui backup e ripristini (incluso un ripristino point-in-time)
  • Controlla la conservazione del backup
  • Salva i backup nel cloud storage
  • Convalida backup (test completo con ripristino sul server standalone)
  • Crittografa i backup
  • Comprimi i backup
  • E molti altri

Conclusione

In qualità di DBA, è necessario assicurarsi che il backup dei database venga eseguito regolarmente e che le procedure di ripristino appropriate siano in atto e testate. Sia Percona XtraBackup che MySQL Enterprise Backup forniscono ai DBA una soluzione di backup online ad alte prestazioni con compressione dei dati e tecnologia di crittografia per garantire la protezione dei dati in caso di inattività o interruzione

I backup devono essere pianificati in base ai requisiti di ripristino. La perdita di dati può essere totale o parziale. Ad esempio, non è sempre necessario recuperare tutti i dati. In alcuni casi, potresti semplicemente voler eseguire un ripristino parziale ripristinando le tabelle o le righe mancanti. Con il set di funzionalità di copertura, entrambe le soluzioni sarebbero un ottimo sostituto di mysqldump, che è ancora un metodo molto popolare per eseguire il backup. Avere mysqldump è importante anche per il ripristino parziale, in cui i database danneggiati possono essere corretti analizzando il contenuto del dump. I log binari ci consentono di ottenere un ripristino point-in-time, ad esempio fino a poco prima che il server MySQL si interrompesse.

Questo è tutto per la prima parte, nella parte successiva testeremo le prestazioni di entrambe le soluzioni ed eseguiremo alcuni scenari di backup e ripristino di casi reali.