Ciao, e benvenuto nella nona puntata della cinquantatreesima stagione. Finora abbiamo esplorato il primo pilastro, la fiducia. Oggi passiamo al secondo, quello che spiega perché, negli ultimi anni, tanti hanno cominciato a dire una frase sola: usa Postgres. Oggi capiamo l'estensibilità, e il non solo tabelle.
Partiamo dalla scelta di progetto, perché è antica e lungimirante. Fin dagli inizi, Postgres è stato pensato non come un prodotto chiuso, ma come un nucleo solido progettato per essere allargato. Puoi aggiungergli nuovi tipi di dato, nuove funzioni, nuovi modi di indicizzare, e soprattutto interi pacchetti di capacità, chiamati estensioni, che lo trasformano in qualcosa di più senza toccarne il cuore. È una filosofia rara: la maggior parte dei sistemi decide cosa sa fare e si ferma lì. Postgres ha deciso, invece, di essere una piattaforma su cui costruire.
Voglio darti gli esempi, perché sono impressionanti. Guarda cosa diventa Postgres una volta esteso. Con un tipo pensato per i documenti flessibili, sa comportarsi come una base di dati per documenti, dove non tutto deve avere la stessa forma rigida. Con le sue capacità di ricerca testuale, sa fare da piccolo motore di ricerca dentro i tuoi testi. E con la sua estensione più famosa, quella per i dati geografici, diventa una delle migliori basi di dati al mondo per le mappe, capace di rispondere a domande come cosa c'è nel raggio di un chilometro da qui. Una sola base di dati, tante nature diverse.
Voglio dirti la conseguenza pratica, perché cambia il modo di costruire. Da qui nasce la frase usa Postgres. L'idea è questa: invece di mettere insieme cinque sistemi specializzati, uno per la ricerca, uno per i documenti, uno per le code, uno per le mappe, ciascuno da imparare, installare e tenere in vita, molto spesso puoi far crescere un solo nucleo relazionale solido fino a coprirli tutti. E il vantaggio non è solo avere meno pezzi: è tenere tutti i tuoi dati in un posto solo, con le stesse garanzie di fiducia, le stesse transazioni, la stessa durabilità, invece di sparpagliarli tra sistemi che si fidano l'uno dell'altro senza controllarsi.
Voglio essere onesto sui limiti, perché è la parte importante. Attenzione, però: usa Postgres per tutto non è una legge assoluta. Un sistema specializzato, costruito per fare una sola cosa a un livello estremo, a volte vince ancora, quando spingi ai limiti più alti. Un motore di ricerca dedicato può battere Postgres su ricerche enormi e sofisticate. Un archivio in memoria pensato per la pura velocità resta imbattibile per certi usi fugaci. Postgres esteso è spesso più che sufficiente, ma sufficiente non è sempre ottimale. La saggezza non è usa Postgres sempre, ma parti da Postgres, e passa a uno specialista solo quando hai una ragione misurata per farlo.
Voglio ribaltare una tesi ricorrente, perché qui prende una forma nuova. Questo podcast ripete da sempre che non esiste lo strumento migliore in assoluto, solo quello giusto per il problema. Di solito lo diciamo per difendere gli specialisti. Qui la stessa idea gira dall'altra parte: per la stragrande maggioranza dei progetti, il problema vero non è la prestazione al limite, ma la complessità di tenere insieme troppi pezzi. E per quel problema, il generalista abbastanza bravo in tante cose batte lo zoo di specialisti perfetti in una cosa sola. Il giusto per il problema, il più delle volte, è il semplice che ne fa a meno.
Voglio darti l'immagine che rende chiara questa idea, perché è familiare. Pensa alla differenza tra riempire la cucina di attrezzi monouso, uno che taglia solo l'avocado, uno che affetta solo l'aglio, e avere pochi coltelli eccellenti che fanno quasi tutto benissimo. Gli attrezzi monouso, ognuno, fanno la loro cosa un pochino meglio. Ma li devi comprare, riporre, lavare, ritrovare, e la cucina diventa un caos. Un bravo coltello copre il novanta per cento dei casi, e ti libera dalla gestione di venti gadget. Postgres è quel coltello: non il migliore in ogni singola fetta, ma quello che ti serve per quasi tutto.
Voglio trarre la lezione generale, perché è preziosa. La lezione è che la semplicità è una funzionalità, spesso la più sottovalutata di tutte. Ogni sistema in più che aggiungi ha un costo nascosto: va imparato, tenuto vivo, integrato, e diventa un altro punto che può rompersi. Un nucleo solido ed estensibile che copre tanti bisogni con un'architettura sola vale, quasi sempre, più di una collezione di strumenti perfetti ma slegati. Parti dal semplice, cresci dentro un unico sistema di fiducia finché ti basta, e chiama lo specialista solo quando il problema, misurato, lo esige davvero.
Per oggi ci fermiamo qui. Abbiamo visto il secondo pilastro, l'estensibilità. Postgres è nato come un nucleo solido progettato per essere allargato: nuovi tipi, funzioni, indici, e intere estensioni che lo trasformano senza toccarne il cuore. Così diventa base di dati per documenti, motore di ricerca, o la migliore per le mappe. Da qui la frase usa Postgres: un solo nucleo che cresce, invece di cinque sistemi da tenere insieme, con gli stessi dati in un posto e le stesse garanzie. Con l'onestà sui limiti: uno specialista a volte vince al limite estremo, quindi parti da Postgres e cambia con una ragione misurata. Come pochi coltelli eccellenti invece di venti attrezzi monouso. La lezione: la semplicità è una funzionalità. Nella prossima e ultima puntata tiriamo le somme. Nelle note trovi qualche spunto. Se ti è utile, condividila. Grazie per l'ascolto, e ci sentiamo alla prossima.