Allora ragazzi, è di nuovo il momento di storie incredibili. Senza ironia! Immagina che il tuo database sia un libro dove tieni informazioni preziose. Cosa succede se per sbaglio strappi delle pagine da questo libro o se viene bruciato da un drago (o se l’hard disk decide che è il momento perfetto per andare in tilt proprio ora)? In ogni caso, reale o fantasy, perdi le informazioni. Ed è qui che entrano in gioco i backup – una specie di “corda di sicurezza” per i tuoi dati.
Il backup, o più semplicemente fare un backup, è il processo di salvare i dati in un file separato o in un altro posto, così che in caso di imprevisti tu possa recuperarli.
I backup sono la tua assicurazione se qualcosa va storto. Ti permettono di ripristinare i dati dopo crash hardware o software, annullare errori casuali tipo un DELETE senza WHERE, e anche spostare il database tra server – ad esempio da development a production. Inoltre, i backup spesso si usano per archiviare dati vecchi, se serve tenerli “per sicurezza” o per la storia. Senza di loro, nei momenti critici potresti restare a mani vuote.
Rischi di perdita dei dati
Parliamo un attimo dei veri pericoli che possono distruggere i tuoi dati. Non è uno scherzo! Ecco qualche esempio che fa venire i brividi a qualsiasi admin di database:
Guasti hardware. Gli hard disk si rompono, le chiavette si perdono e i server a volte decidono di “andare in vacanza” per sempre.
Errori degli utenti.
Quando uno sviluppatore lancia per sbaglio una query tipo:
DELETE FROM studenti;
senza usare WHERE. Complimenti, hai appena cancellato tutti gli studenti! (Spero che tu non sia il dba).
Attacchi malevoli.
Gli hacker possono attaccare il tuo sistema, criptare i dati o cancellarli.
Catastrofi naturali.
Sembra la trama di un film, ma un terremoto o un’alluvione può distruggere i tuoi server.
E ovviamente, sentirsi al sicuro non fa mai male. Meglio configurare il backup una volta che poi provare a ricostruire il database da zero, sperando di convincere il drago a restituirti i dati.
Principali scenari d’uso dei backup
Ora che hai capito perché servono i backup, vediamo i principali scenari in cui ti salvano la vita.
Ripristino dei dati dopo un crash
Stai lavorando e all’improvviso cade tutto – database, server, internet. Crash! Senza backup ti ritrovi a pensare dove avevi l’ultima versione dei dati. Con il backup invece puoi ripristinare il sistema in fretta. Di solito si usa una copia dei dati fatta prima del crash. Per esempio:
- Crash totale del server. Ripristini tutto il database dal backup.
- Danneggiamento di alcune tabelle. Ripristini solo le tabelle che ti servono.
Spostamento dei dati tra server
Immagina che devi spostare il database da un server all’altro: magari per aggiornare l’hardware o configurare un nuovo server. In questi casi i backup risolvono in fretta. Fai una copia sul vecchio server e poi la ripristini su quello nuovo.
Esempio di comando per creare un backup del database:
pg_dump -U postgres -d università -f università_backup.sql
Il comando sopra crea un file con il backup del database università, che puoi usare per ripristinare il database su un altro server.
Archiviazione dei dati per conservazione a lungo termine
A volte vuoi tenere i dati per analisi future o per la storia. Ad esempio, se hai ordini degli ultimi 10 anni, puoi spostare i dati più vecchi in archivio e liberare spazio nel database principale.
Questo approccio aiuta a:
- Velocizzare il database principale.
- Conservare dati storici preziosi nel caso servano.
Esempi reali in cui i backup hanno salvato la situazione
Ecco un paio di storie vere per farti capire quanto è importante il backup:
Ripristino dopo un attacco hacker. Una volta un’azienda ha perso tutti i dati per colpa di un ransomware. L’unica cosa che li ha salvati è stato il backup fatto il giorno prima. L’attacco si è risolto con solo 2 ore di stop invece che la perdita dell’azienda.
Errori degli sviluppatori. (Chi l’avrebbe mai detto che anche gli sviluppatori sbagliano?) Uno studente ha cancellato la tabella con i dati della sua tesi. Per fortuna, il backup del database ha permesso di ripristinare tutto in 10 minuti.
Per ora è tutto. Ora sai perché servono i backup, quali rischi aiutano a prevenire e quanto spesso dovresti farli. La prossima lezione parlerà dei tipi di backup e ti aiuterà a capire quale fa al caso tuo. Ci vediamo alla prossima lezione!
GO TO FULL VERSION