Ciao, e benvenuto nella prima puntata della cinquantatreesima stagione di questo podcast. Dopo aver parlato di persone, di squadre e di sicurezza, torniamo alla macchina, e ci fermiamo su un pezzo che sta sotto quasi ogni applicazione seria del mondo. Tanti anni fa abbiamo dedicato una stagione alle basi di dati in generale, al perché una base di dati pensa come pensa. Oggi ne prendiamo una in particolare, forse la più rispettata di tutte. Oggi apriamo PostgreSQL, che tutti chiamano semplicemente Postgres.
Partiamo dal suo simbolo, perché racconta tutto. Il simbolo di Postgres è un elefante. E l'elefante, si dice, non dimentica mai. Non è un dettaglio grazioso: è la sua anima. Perché il valore più profondo di una base di dati è uno solo, la fiducia. I tuoi dati sono l'unica cosa, in tutto il sistema, che non puoi permetterti di perdere o di corrompere. I server si ricomprano. Il codice si riscrive. La cache si ricostruisce in un istante. Ma i dati dei tuoi utenti, gli ordini, i pagamenti, le cose che le persone ti hanno affidato: quelli, se li perdi, sono persi per sempre.
Voglio darti l'idea di fondo, perché è la tesi della stagione. Ecco l'idea che tiene insieme dieci puntate: Postgres è costruito, dalla cima alle fondamenta, per meritare quella fiducia. Preferisce essere giusto piuttosto che veloce. Attento piuttosto che furbo. Noioso piuttosto che alla moda. Quando deve scegliere tra fare una cosa in fretta e farla in modo che non si rompa mai, sceglie quasi sempre la seconda. E questo, per una base di dati, non è timidezza: è esattamente ciò che vuoi da chi custodisce la verità del tuo sistema.
Voglio darti i due pilastri, perché sono la mappa. Su cosa poggia il carattere di Postgres? Su due pilastri. Il primo è la fiducia, di cui abbiamo appena parlato: la correttezza, la durabilità, la protezione ostinata dei tuoi dati contro crash, errori e caos. Gran parte della stagione esplora i meccanismi con cui la ottiene. Il secondo pilastro è l'estensibilità: un nucleo relazionale solidissimo, progettato fin dall'inizio per essere allargato, così che una sola base di dati possa diventare tante cose. Correttezza da una parte, capacità di crescere dall'altra. Sono due virtù che di solito litigano: le cose fatte per essere robuste tendono a essere rigide, e quelle fatte per essere flessibili tendono a essere fragili. La scommessa di Postgres, riuscita, è tenerle insieme.
Voglio dirti cosa non faremo, perché è la nostra abitudine. Non ti insegneremo la sintassi, i comandi con cui si interroga una base di dati. Per quello ci sono i manuali, ed è la parte che invecchia. Faremo, come sempre, un'altra cosa: guarderemo il modello sotto la magia. Il carattere, i valori, i meccanismi profondi. Perché una volta che capisci come Postgres pensa, i comandi smettono di essere formule da memorizzare e diventano conseguenze ovvie di un disegno che hai capito. E, soprattutto, capire il modello è ciò che ti permette di fidarti davvero.
Voglio anticiparti il viaggio, perché ha una direzione. Nelle prossime puntate vedremo come si chiede a Postgres ciò che vuoi, descrivendolo invece di comandarlo. La promessa del tutto-o-niente delle transazioni. Il suo trucco più ingegnoso per far convivere tanti utenti insieme. Come decide da solo il modo migliore di rispondere. Come trova una cosa senza leggerle tutte. Come sopravvive a un crash senza perdere nulla. Come fa la guardia alla correttezza dei dati. E come, da semplice tabella, si estende fino a diventare quasi qualsiasi cosa.
Voglio chiudere con un pensiero, perché dà il tono. C'è una tendenza, in questo mestiere, a inseguire il database nuovo, veloce, brillante, quello di cui parlano tutti quest'anno. Postgres è l'opposto: è vecchio, è lento a cambiare, ed è profondamente, meravigliosamente noioso. Ma quando in gioco c'è la cosa che non puoi permetterti di perdere, noioso è il complimento più alto che esista. Noioso vuol dire che funziona, anno dopo anno, e che a un certo punto smetti di pensarci. E poterti dimenticare della tua base di dati, sapendo che è lì che regge, è una forma di pace rara. È il motivo per cui, negli ultimi anni, tanti sviluppatori sono tornati a una regola semplice: nel dubbio, comincia da Postgres. Non perché sia il più scintillante, ma perché è quello che, dopo dieci anni, sarà ancora lì a fare esattamente il suo lavoro.
Per oggi ci fermiamo qui. Abbiamo aperto la stagione su Postgres. Il suo simbolo è un elefante che non dimentica, perché il valore più profondo di una base di dati è la fiducia: i dati sono l'unica cosa che non puoi permetterti di perdere, mentre tutto il resto si ricostruisce. La tesi: Postgres è fatto per meritare quella fiducia, e preferisce essere giusto che veloce, noioso che alla moda. Poggia su due pilastri: la correttezza e l'estensibilità. Non impareremo la sintassi, ma il modello sotto la magia, perché capirlo è ciò che permette di fidarsi. E un'idea di fondo: quando in gioco c'è ciò che non puoi perdere, noioso è il complimento più alto. Nella prossima puntata: dì cosa vuoi, non come averlo. Nelle note trovi qualche spunto. Se ti è utile, condividila. Grazie per l'ascolto, e ci sentiamo alla prossima.