← Tutti gli episodi
Copertina di Due modi di tenere l'ordine
Stagione 76 · Episodio 005

Due modi di tenere l'ordine

2 ottobre 2026 5:20
0:00 5:20

Ciao, e benvenuto nella quinta puntata della settantaseiesima stagione. La volta scorsa, lo schedario tenuto sempre in perfetto ordine, l'albero. Oggi la puntata più onesta della stagione: tenere le cose in ordine è la tensione centrale dello storage, e ci sono due filosofie profondamente diverse per farlo, ognuna una risposta diversa al nostro ritornello. È qui che i baratti mordono più forte. Il titolo: due modi di tenere l'ordine.

Il problema, di nuovo. I dati arrivano alla rinfusa, ma noi li vogliamo ordinati, per cercarli in fretta e per avere gli intervalli. Due filosofie, opposte.

Filosofia uno: tieni in ordine mentre vai. È lo schedario della scorsa puntata. Ogni scheda nuova va subito nel suo cassetto giusto, all'istante, così lo schedario è sempre perfettamente ordinato e una lettura è sempre pochi viaggi. Il prezzo: ogni singola scrittura è un viaggio nel magazzino per trovare la scatola giusta, aggiornarla, e a volte spaccarla in due. E le scritture sono sparpagliate: ognuna cade in un posto diverso e a caso. Ottimo in lettura, caro in scrittura. Perfetto quando leggi molto più di quanto scrivi.

Filosofia due: non ordinare mentre vai. Scrivi veloce adesso, ordina dopo. I fatti nuovi vengono solo aggiunti in fondo a un piccolo lotto ordinato tenuto sul tavolo; quando il lotto si riempie, lo scarichi in magazzino come un'unica scatola ordinata e sigillata, scritta tutta di fila, a costo bassissimo. Non vai mai a caccia del posto giusto a ogni scrittura: accumuli lotti ordinati, uno sopra l'altro. Le scritture sono veloci e in fila. Ma adesso lo stesso dato è sparso su tanti lotti, il più recente in cima, e per leggere un valore potresti dover controllare più lotti: è nel più nuovo? in quello dopo? E le cancellazioni non cancellano davvero: scrivi un biglietto, una lapide, che dice questo non c'è più, perché non puoi tornare a cancellarlo dentro un lotto già sigillato.

Ed ecco il costo nascosto: la pulizia. Quelle pile crescono, e le letture rallentano man mano che i lotti si moltiplicano. Allora, in sottofondo, il database fonde le pile: legge più lotti ordinati, ne scrive uno solo più grande e ordinato, butta via i pezzi vecchi e applica le lapidi. Questa fusione è il motore nascosto, e il costo nascosto, di questa filosofia: recupera velocità e spazio, ma consuma disco e processore, a folate, per sempre. La scrittura che hai fatto a buon mercato la paghi in parte dopo, di nuovo, durante la fusione: lo stesso byte riscritto più volte mentre sale, fuso e rifuso.

Adesso il conto onesto, perché è questa la puntata. Nessuna delle due vince. Lo schedario ordinato mentre vai dà letture stabili e prevedibili, e paga a ogni scrittura. La pila scrivi-veloce-ordina-dopo dà scritture fulminee e viaggi in fila economici, e paga controllando più pile in lettura, tenendo le versioni vecchie finché non fonde, e con le folate di fusione. Il ritornello fatto carne: una baratta la velocità in scrittura per la semplicità in lettura; l'altra baratta lettura e spazio per la velocità in scrittura. Non esiste la struttura che è la migliore a leggere, a scrivere e nello spazio tutte insieme: è la legge che continuiamo a sbattere in faccia.

E qui tornano le stagioni sui database, perché non è teoria. Lo schedario ordinato mentre vai è la scelta classica del mondo relazionale, fatto per lavori con molte letture e transazioni. La pila scrivi-veloce muove il mondo delle scritture a valanga e delle ingestioni enormi: registri, misure a flusso, grandi archivi in continua crescita. Scegliere un database è, lì sotto, spesso scegliere quale di queste due scommesse somiglia al tuo lavoro.

Il punto più profondo è questo: non sistemi il lato lento con una configurazione; scegli quale problema preferisci avere, perché i due nemici non ti lasciano scappare da entrambi. Un'applicazione piena di scritture su un motore ordinato-mentre-vai soffrirà; un'applicazione piena di letture puntuali su un motore a pile soffrirà. Fai combaciare la forma delle tue scritture e delle tue letture con la forma della struttura.

Voglio lasciarti con l'onestà di questa puntata. Ogni motore di memoria è una frase che finisce con: e quindi sono veloce qui, e accetto di pagare là. Il motore ordinato-mentre-vai dice: pago a ogni scrittura, così le letture restano semplici. Il motore scrivi-veloce dice: scrivo a buon mercato e faccio pulizia per sempre, così posso ingoiare una piena. Nessuno dei due è più furbo: sono onesti su costi diversi. Quando un database ti sembra lento, non cercare l'impostazione magica: chiediti quale scommessa ha fatto, e se il tuo lavoro è quello su cui ha scommesso. Se non lo è, nessuna manopola ti salverà: hai scelto la filosofia sbagliata per la tua forma.

Per oggi ci fermiamo qui. Abbiamo messo una di fronte all'altra due filosofie per tenere l'ordine: ordinare mentre vai, letture stabili e scritture care, e scrivere veloce ordinando dopo, scritture fulminee pagate in lettura, in spazio e in fusioni. Nessuna vince: ognuna è una risposta diversa al fatto che non puoi essere il migliore a leggere, scrivere e stare stretto tutto insieme. Nella prossima puntata: scritto prima di essere vero. Nelle note trovi qualche spunto. Se ti è utile, condividila. Grazie per l'ascolto, e ci sentiamo alla prossima.