← Tutti gli episodi
Copertina di Da veloce e fragile a sicuro e solido: la storia di due motori
Stagione 54 · Episodio 003

Da veloce e fragile a sicuro e solido: la storia di due motori

12 settembre 2026 5:25
0:00 5:25

Ciao, e benvenuto nella terza puntata della cinquantaquattresima stagione. Nella scorsa puntata abbiamo scoperto che MySQL ti lascia scegliere il motore che custodisce i dati. Oggi diamo un volto a quella scelta, raccontando la storia dei due motori più famosi, una storia che è anche la storia della crescita di MySQL. Oggi vediamo il passaggio da veloce e fragile a sicuro e solido.

Partiamo dal primo motore, perché è dove tutto è cominciato. Agli inizi, il motore predefinito di MySQL, quello che ti ritrovavi senza pensarci, era una piccola meraviglia di semplicità e velocità. Leggeva i dati in un lampo, occupava poco, ed era facilissimo da capire. Per un sito che mostra articoli, per un blog, per una vetrina, era perfetto: tanta lettura, poca scrittura, nessuna operazione complicata. Fu uno dei motivi del successo di MySQL: partiva già veloce, senza che tu dovessi fare nulla.

Voglio dirti i suoi difetti, perché sono seri. Ma quel primo motore aveva debolezze che, su lavori delicati, diventavano pericolose. Primo: non conosceva le transazioni. Non sapeva fare il tutto o niente. Se un'operazione in più passi si interrompeva a metà, restavi con i dati a metà, incoerenti. Secondo: quando qualcuno scriveva, bloccava l'intera tabella, costringendo tutti gli altri, anche chi voleva solo un pezzetto diverso, ad aspettare in fila. E terzo, il più temuto: se la corrente andava via nel momento sbagliato, i dati potevano corrompersi, e recuperarli era un incubo. Velocissimo, sì, ma fragile.

Voglio presentarti il secondo motore, perché è la risposta. Poi arrivò l'altro motore, quello che oggi è il predefinito, ed era un cambio di filosofia. Questo motore sapeva fare le transazioni: il tutto o niente, la promessa che un gruppo di operazioni va tutto o niente. Quando scriveva, non bloccava l'intera tabella, ma solo la singola riga che stava toccando, così mille persone potevano lavorare su righe diverse senza pestarsi i piedi. E soprattutto, era progettato per sopravvivere ai guasti: se la corrente saltava, al riavvio sapeva rimettere tutto in ordine, senza perdere ciò che aveva promesso di salvare. Un po' più pesante, ma solido come una roccia. E aveva un altro dono: capiva le relazioni tra le tabelle, le chiavi esterne, e faceva rispettare quelle regole, cosa che il primo motore ignorava del tutto. Non solo più sicuro nei guasti, ma anche più attento alla coerenza dei legami tra i dati.

Voglio raccontarti il senso profondo di questo passaggio, perché è bellissimo. Per anni, il motore veloce e fragile è rimasto il predefinito, e il motore sicuro era una scelta che dovevi fare apposta. Poi, a un certo punto, MySQL ha invertito la rotta: ha reso il motore sicuro quello predefinito, quello che ti ritrovi senza pensarci. È un gesto piccolo, cambiare un'impostazione, ma enorme nel significato. Vuol dire che MySQL è cresciuto. Ha deciso che la sicurezza non doveva più essere una cosa da esperti, ma il comportamento normale per tutti. Il pragmatico degli inizi aveva imparato il valore della correttezza. E lo aveva fatto nel modo giusto: non a parole, non con una promessa, ma cambiando ciò che accade in automatico a chi non sa nulla e non sceglie niente. Perché il comportamento predefinito è la vera dichiarazione di valori di uno strumento: è ciò che protegge chi non conosce le opzioni, cioè la maggioranza delle persone.

Voglio darti l'immagine che rende chiara questa idea, perché è umana. È la storia di tanti di noi. Da giovani si va veloci, si rischia, si prende la strada più rapida perché funziona e perché non abbiamo ancora visto le cose andare storte davvero. Poi succede un guaio, si impara sulla propria pelle quanto costa perdere qualcosa di importante, e si comincia ad apprezzare la prudenza, i controlli, le reti di sicurezza. Non si diventa lenti: si diventa saggi. MySQL ha fatto esattamente questo percorso, e lo ha fatto senza perdere la sua natura pratica e accessibile.

Voglio collegarlo alla rivale, perché il dittico si illumina. Ricordi Postgres? Postgres era serio e sicuro fin dal primo giorno, per nascita. MySQL ci è arrivato dopo, per esperienza. Sono partiti da punti opposti: uno dalla correttezza, uno dalla velocità. Eppure oggi, sulle cose che contano davvero, si assomigliano molto più di un tempo. Postgres è diventato più facile e veloce; MySQL è diventato più sicuro e rigoroso. Due strade opposte che, salendo, si sono avvicinate verso la stessa vetta: un database che è insieme pratico e affidabile.

Per oggi ci fermiamo qui. Abbiamo raccontato la storia di due motori. Il primo, il vecchio predefinito, era una meraviglia di semplicità e velocità, perfetto per tanta lettura, ma fragile: niente transazioni, bloccava l'intera tabella in scrittura, e poteva corrompersi in un guasto. Il secondo, l'attuale predefinito, ha cambiato filosofia: transazioni, blocco solo della singola riga, e capacità di sopravvivere ai crash. Il passaggio importante è stato rendere il motore sicuro quello predefinito: un gesto piccolo, un significato enorme, MySQL che cresce e fa della sicurezza la normalità. Come una persona che da veloce e spericolata diventa saggia senza perdere la praticità. E come Postgres, ma da un punto di partenza opposto. Nella prossima puntata: tutto o niente, transazioni e blocchi. Nelle note trovi qualche spunto. Se ti è utile, condividila. Grazie per l'ascolto, e ci sentiamo alla prossima.