Ciao, e benvenuto nell'ottava puntata della quarantunesima stagione. Fin dalla prima puntata ti sarà venuto un dubbio legittimo, e oggi lo affrontiamo con onestà: se Redis tiene tutto nella memoria, e la memoria si cancella quando la macchina si spegne o si riavvia, non si perde tutto? È la domanda giusta, e la risposta è più sfumata di un semplice sì o no. Oggi parliamo di persistenza, cioè della capacità di salvare i dati, e del delicato equilibrio tra velocità e durabilità.
Partiamo dal riconoscere che il dubbio è fondato, perché lo è. È vero: la memoria di lavoro è per sua natura fugace. Tutto ciò che c'è sparisce quando la macchina si spegne o riparte. Uno strumento che tenesse i dati solo in memoria, senza altro, in effetti perderebbe tutto a ogni riavvio. Se Redis fosse solo questo, sarebbe adatto unicamente a dati sacrificabili, come la cache di cui abbiamo parlato. Ma Redis offre delle vie per salvare i dati anche su disco, così da poterli recuperare dopo un riavvio. Non è costretto a essere puramente volatile: può, se vuoi, lasciare una traccia duratura.
Voglio mostrarti il primo modo di salvare, perché è intuitivo. Il primo modo sono le istantanee. Ogni tanto, a intervalli, Redis scrive su disco una fotografia completa di tutto ciò che ha in memoria in quel momento. È come fare periodicamente una foto della scrivania: se poi la macchina si riavvia, Redis riparte dall'ultima foto scattata. È un metodo veloce e leggero, perché il salvataggio avviene solo di tanto in tanto, non a ogni singola modifica. Ha però un rovescio onesto: se la macchina cade tra una foto e l'altra, perdi le modifiche fatte dopo l'ultima istantanea, magari gli ultimi minuti di lavoro. Veloce, ma con una piccola finestra di rischio.
Voglio mostrarti il secondo modo, perché è più prudente. Il secondo modo è il registro delle modifiche. Invece di fotografare ogni tanto, Redis annota su disco ogni singola operazione mentre accade: ogni volta che qualcosa cambia, lo scrive nel registro. Così, dopo un riavvio, può ripercorrere il registro e rifare tutte le operazioni, recuperando quasi tutto, fino quasi all'ultimo istante. È più sicuro, perché la finestra di perdita è minima. Ma ha un costo: annotare ogni modifica, in continuazione, richiede un po' più di lavoro e rallenta appena le cose, rispetto alle istantanee spensierate. Più sicurezza, in cambio di un po' di velocità.
Voglio farti vedere il compromesso di fondo, perché è la vera lezione. Nota lo schema: più durabilità costa un po' di velocità e di fatica; meno durabilità è più veloce ma più rischiosa. Le istantanee sono leggere ma perdono di più in caso di caduta; il registro perde pochissimo ma pesa un po' di più. Non c'è una scelta giusta in assoluto: dipende da quanto puoi permetterti di perdere. Per certi dati, perdere gli ultimi minuti non è un dramma, e le istantanee bastano. Per altri, ogni singola modifica conta, e vale la pena pagare il registro. La domanda chiave non è come salvo, ma quanto posso perdere: la risposta guida la scelta.
Voglio darti l'immagine che rende chiara questa idea, perché la fissa bene. Pensa a degli appunti su una lavagna. Sono comodi e immediati, ma se qualcuno pulisce la stanza spariscono. Per non perderli, hai due opzioni. Puoi fotografare la lavagna ogni tanto: veloce, ma se la puliscono tra due foto perdi ciò che avevi scritto nel frattempo. Oppure puoi avere qualcuno che ricopia ogni riga su un quaderno man mano che la scrivi: non perdi quasi nulla, ma è più laborioso. Le istantanee sono le foto della lavagna; il registro è il quaderno riga per riga. E in entrambi i casi, la lavagna resta comoda e veloce da usare: il salvataggio è una rete di sicurezza, non cambia come lavori.
Voglio darti una prospettiva onesta e importante, perché ridimensiona il ruolo di Redis. C'è un punto da chiarire, per non fraintendere: anche con questi salvataggi, di solito Redis non è il tuo archivio ufficiale, il custode ultimo della verità. Quel ruolo resta, nella maggior parte dei casi, alla base di dati durevole, il magazzino di cui parlammo tempo fa. Redis tiene la copia veloce, che spesso si può ricostruire; la base di dati tiene la verità permanente. La persistenza di Redis serve a fargli recuperare in fretta il suo stato dopo un riavvio, non a farne il libro mastro definitivo. Sapere cosa puoi permetterti di perdere, e dove vive davvero la verità, è la chiave per usarlo bene.
Per oggi ci fermiamo qui. Abbiamo affrontato il dubbio onesto: la memoria è fugace, ma Redis può salvare su disco per recuperare dopo un riavvio. Due modi: le istantanee, fotografie periodiche di tutto, leggere ma con il rischio di perdere le ultime modifiche; e il registro delle modifiche, che annota ogni operazione, più sicuro ma un po' più pesante. Il compromesso di fondo è tra durabilità e velocità, e la domanda chiave è quanto puoi permetterti di perdere. Come appunti su una lavagna, da fotografare ogni tanto o ricopiare riga per riga. Con l'onestà che, di solito, la verità ultima vive nella base di dati durevole, non in Redis. Nella prossima puntata affrontiamo un tema attuale e delicato: la licenza, il fork, e chi possiede un bene comune. Nelle note trovi qualche spunto. Se ti è utile, condividila. Grazie per l'ascolto, e ci sentiamo alla prossima.