← Tutti gli episodi
Copertina di L'eredità: il modello a colonne larghe
Stagione 56 · Episodio 003

L'eredità: il modello a colonne larghe

13 settembre 2026 5:08
0:00 5:08

Ciao, e benvenuto nella terza puntata della cinquantaseiesima stagione. Nella scorsa puntata abbiamo visto il motore di Scylla. Oggi guardiamo la forma dei suoi dati, quella che ha ereditato da Cassandra, e che è diversa sia dalle tabelle sia dai documenti. Oggi capiamo il modello a colonne larghe.

Partiamo dall'idea di base, perché serve un aggancio. Dimentica per un attimo tabelle e documenti. Immagina invece un gigantesco dizionario distribuito, sparso su tante macchine. Nel modello di Scylla, ogni pezzo di dati appartiene a un gruppo chiamato partizione. La partizione è l'unità fondamentale: è un mucchietto di righe che stanno insieme, sulla stessa macchina, e che tu leggi tipicamente insieme. Tutta l'attività di un utente, per esempio, può stare in un'unica partizione. Il modello, in fondo, è questo: raggruppa i dati in partizioni, e tieni in una partizione ciò che leggerai insieme.

Voglio darti i due livelli di organizzazione, perché è la struttura. Dentro questo modello ci sono due domande, a cui rispondono due tipi di chiave. La prima domanda è: su quale macchina vive questo dato? A deciderlo è la chiave di partizione, che vedremo in dettaglio nella prossima puntata: è lei che smista ogni dato verso la sua partizione, e quindi verso la sua macchina. La seconda domanda è: dentro la partizione, come sono ordinate le righe? A deciderlo è una seconda chiave, quella di ordinamento, che tiene le righe in una sequenza precisa, per esempio dalla più recente alla più vecchia. Trova la partizione, poi scorri le righe già ordinate: ecco come Scylla legge, ed ecco perché è velocissima.

Voglio darti un pezzo di eredità, perché nobilita la cosa. Questo modello non è nato con Cassandra dal nulla. È figlio di due idee celebri del mondo dei grandi dati. Da un grande venditore online arrivò l'idea di come distribuire i dati su tante macchine senza un capo. Da un grande motore di ricerca arrivò l'idea di come organizzare enormi tabelle di righe e colonne su disco. Cassandra fuse queste due idee in un unico modello, e Scylla lo ha ereditato. Quando usi Scylla, stai usando la sintesi di due delle intuizioni più influenti nella storia delle basi di dati su larga scala. È un bell'esempio di come funziona il progresso in questo campo: raramente per lampi isolati, quasi sempre per combinazione di idee che esistevano già, messe insieme da qualcuno che ha visto come si completavano a vicenda.

Voglio darti l'immagine che rende chiara questa idea, perché è concreta. Torniamo alla biblioteca sparsa su più edifici, che già conosci. La chiave di partizione è la regola che decide in quale edificio va ogni libro. Una volta arrivato all'edificio giusto, i libri non sono buttati alla rinfusa: sono su uno scaffale, ordinati secondo un criterio preciso, per esempio per data. Così, per trovare gli ultimi dieci libri di un certo autore, vai all'edificio giusto, trovi il suo scaffale, e prendi i primi dieci: sono già in ordine, non devi cercare in giro. Partizione, poi ordine: è tutto qui il segreto della velocità in lettura.

Voglio dirti cosa manca, e non è un difetto ma una scelta. Nota una cosa importante: in questo modello non ci sono i legami ricchi tra tabelle del mondo relazionale, quelli che permettono di ricucire i dati in mille modi diversi al momento della domanda. Qui non si fa così. Qui i dati si tengono già pronti, nella forma in cui li leggerai. Non è una mancanza per pigrizia: è una scelta precisa. Rinunci alla flessibilità di interrogare i dati come ti pare, in cambio di una velocità enorme e prevedibile sulle domande che avevi previsto. È un patto, e va capito bene, perché cambia il modo di progettare. Chi arriva dalle tabelle lo trova all'inizio quasi doloroso: ha imparato a tenere i dati puliti e a interrogarli liberamente, e qui gli si chiede l'opposto. Ma è proprio questo patto a rendere possibile la velocità che nel mondo relazionale, a certe scale, semplicemente non si può raggiungere.

Voglio anticipare la conseguenza, perché sarà il tema seguente. Questa forma dei dati ti obbliga a un ribaltamento mentale, che approfondiremo. Nel mondo relazionale, prima sistemi bene i dati e poi decidi le domande. Qui è l'opposto: prima decidi le domande, e poi dai ai dati la forma che risponde a quelle domande nel modo più veloce. È un modo di pensare completamente diverso, che spiazza chi arriva dal mondo delle tabelle, ma che è la chiave per usare bene non solo Scylla, ma tutta questa famiglia di basi di dati pensate per la scala.

Per oggi ci fermiamo qui. Abbiamo visto il modello a colonne larghe, ereditato da Cassandra. Dimentica tabelle e documenti: pensa a un gigantesco dizionario distribuito, dove i dati sono raggruppati in partizioni, mucchietti di righe che stanno insieme e si leggono insieme. Due chiavi: quella di partizione decide su quale macchina vive il dato, quella di ordinamento decide come sono ordinate le righe dentro la partizione. È la fusione di due idee celebri, distribuire senza capo e organizzare enormi tabelle. Come una biblioteca su più edifici, con gli scaffali già in ordine. Il patto: rinunci a interrogare come ti pare, in cambio di velocità enorme sulle domande previste. Nella prossima puntata: la chiave che decide tutto. Nelle note trovi qualche spunto. Se ti è utile, condividila. Grazie per l'ascolto, e ci sentiamo alla prossima.