Finora nelle due parti precedenti di questa breve serie di blog abbiamo discusso diverse opzioni che potrebbero influire sul tempo e sulle dimensioni del backup. Abbiamo discusso diverse opzioni di compressione e un'impostazione relativa alla limitazione del trasferimento di rete nel caso in cui i dati vengano trasmessi dal nodo all'host del controller. Questa volta vorremmo evidenziare qualcos'altro:la possibilità di eseguire backup parziali utilizzando MariaBackup. Per prima cosa, parliamo di quali sono i backup parziali e quali sono le sfide ad essi correlate.
Backup parziali
MariaBackup è uno strumento di backup che crea backup fisici. Ciò significa che copierà i dati archiviati nei file sul nodo del database nella posizione di destinazione. Creerà un backup coerente del database, qualcosa che ti consente di ripristinare i tuoi dati in un momento preciso:il momento in cui il backup è stato completato. Tutti i dati in tutte le tabelle e gli schemi saranno coerenti. Questo è abbastanza importante da tenere a mente. È possibile utilizzare backup coerenti per eseguire il provisioning di repliche, eseguire il ripristino point-in-time e così via.
I backup parziali invece sono, beh, parziali. Viene eseguito il backup solo di un sottoinsieme delle tabelle. Ovviamente, questo rende il backup incoerente. Non può essere utilizzato per creare una replica o per ripristinare i dati nello stesso momento. I backup parziali hanno ancora il loro uso. Possono essere utilizzati per ripristinare un sottoinsieme di dati:invece di ripristinare l'intero backup è possibile ripristinare solo una singola tabella e quindi estrarre i dati necessari. Certo, puoi fare lo stesso con i backup logici, ma quelli sono piuttosto lenti e non adatti a qualsiasi tipo di distribuzione più ampia.
Lo svantaggio è che il backup parziale non è coerente nel tempo. Questo dovrebbe essere abbastanza ovvio poiché stiamo raccogliendo solo un sottoinsieme di dati. Un'altra sfida è il ripristino:non è possibile ripristinare facilmente backup parziali direttamente sui sistemi di produzione. Primo, perché non è semplice, secondo, perché non è coerente. Il modo più sicuro per ripristinare il backup parziale sarebbe ripristinarlo su un nodo separato e quindi utilizzare mysqldump o SELECT INTO OUTFILE per estrarre i dati richiesti.
Diamo un'occhiata alle opzioni che ClusterControl ci fornisce per quanto riguarda i backup parziali.
Backup parziali in ClusterControl

Prima di tutto, i backup parziali non vengono utilizzati per impostazione predefinita, è necessario abilitarli esplicitamente. Quindi viene visualizzata una serie di opzioni che ci consentono di scegliere ciò di cui vogliamo eseguire il backup. Possiamo scegliere uno schema particolare o un insieme di tabelle. Possiamo fare un backup di tutte le tabelle tranne alcune o possiamo semplicemente dire che vogliamo fare un backup delle tabelle A, B e C.


Naturalmente, quando vai al menu a discesa, vedi tutti i database e tutte le tabelle elencate tra cui scegliere.

Abbiamo selezionato alcune tabelle e schemi ed eseguiremo questo backup ora. Ovviamente, se lo desideri, puoi pianificare backup parziali esattamente come quelli normali.

Nella seconda schermata possiamo configurare mariabackup a nostro piacimento, proprio come noi spiegato nei nostri precedenti post sul blog. Ecco fatto, fai clic sul pulsante Crea backup e il processo inizierà.
Ripristino del backup parziale in ClusterControl
Una volta che il backup è pronto, diventerà visibile nell'elenco dei backup.

Possiamo vedere che si tratta di un backup parziale perché c'è un elenco di schemi che sono inclusi in esso.

Quando tentiamo di ripristinare un backup parziale in un cluster di replica asincrono, siamo presentato con due opzioni. Ripristina su nodo e ripristina e verifica su host autonomo. Il primo non è sicuramente qualcosa che vogliamo fare in quanto cancellerebbe alcuni dei dati che non abbiamo nel backup. Quest'ultima opzione, invece, consente di distribuire un nodo separato e ripristinare il backup su di esso.

Tutto ciò che dobbiamo fare è scegliere un nome host raggiungibile da SSH da ClusterControl e assicurati che non venga interrotto dopo il ripristino del backup. Questo ci consentirà di ripristinare il backup parziale e quindi di accedervi per estrarre qualsiasi tipo di dati desideriamo.
Ci auguriamo che questo breve blog ti dia un'idea di come ClusterControl ti consente di eseguire backup parziali, quali sono i casi d'uso e come ripristinarli in modo sicuro.