Ciao, e benvenuto nella prima puntata della cinquantaseiesima stagione di questo podcast. Nelle ultime stagioni abbiamo raccontato basi di dati definite dalla forma che danno ai dati: le tabelle del mondo relazionale, i documenti di Mongo. Oggi apriamo una base di dati che si definisce in un altro modo: non per la forma dei dati, ma per un'ossessione. L'ossessione della velocità e della scala. Oggi apriamo ScyllaDB, che chiameremo semplicemente Scylla.
Partiamo dalla storia, perché spiega tutto. Anni fa esisteva già una base di dati molto amata per gestire quantità enormi di dati sparsi su tante macchine. Si chiamava, e si chiama, Cassandra. Aveva un modello dei dati e un sistema di distribuzione considerati eccellenti. Ma aveva un tallone d'Achille: era costruita sopra la macchina di Java, uno strato comodo per i programmatori ma con un difetto per chi cerca la massima velocità. Ogni tanto quella macchina si ferma per fare pulizia della memoria, e nei momenti di pausa la base di dati esita, rallenta, tentenna. E non sfruttava fino in fondo i processori moderni, fatti di tanti nuclei che possono lavorare in parallelo.
Voglio dirti l'intuizione fondatrice, perché è audace. I creatori di Scylla venivano dal mondo più profondo dei sistemi, quello vicinissimo all'hardware, dove si costruiscono le fondamenta su cui gira tutto il resto. E si fecero una domanda semplice e ambiziosa: e se prendessimo quel modello eccellente di Cassandra, ma lo ricostruissimo da zero, con un linguaggio vicino al metallo, pensato per spremere ogni goccia di potenza dalle macchine moderne? Stessa interfaccia, stesso modo di parlarci, stesso modello dei dati. Ma sotto, un motore completamente nuovo, senza pause e capace di usare ogni nucleo del processore. Questo è Scylla: l'anima di Cassandra, con un cuore costruito per correre.
Voglio darti i due pilastri, perché sono la mappa della stagione. Su cosa poggia il carattere di Scylla? Su due pilastri. Il primo è l'efficienza sull'hardware: rispettare la macchina, usare ogni nucleo del processore senza sprechi, senza pause, senza attese inutili, per ottenere risposte rapide e, soprattutto, costanti. Il secondo è la distribuzione senza padrone: spargere i dati su tante macchine tutte uguali, senza un capo, così che il sistema cresca all'infinito e non si fermi mai, nemmeno se una macchina cade. Velocità dal basso, e scala senza limiti.
Voglio essere chiaro su cosa è diverso, perché è importante. Nelle stagioni scorse la novità era la forma dei dati. Qui la novità è un'altra: il modello dei dati Scylla lo ha in gran parte ereditato da Cassandra, non l'ha inventato. Il suo colpo di genio non sta nel cosa, ma nel come: prendere un'idea collaudata e realizzarla in un modo radicalmente più efficiente. È una lezione preziosa, che a volte dimentichiamo: non serve sempre inventare qualcosa di nuovo. A volte, fare enormemente meglio qualcosa che esiste già è altrettanto rivoluzionario. Il mondo è pieno di idee buone realizzate a metà, che aspettano solo qualcuno disposto a rifarle come si deve. Scylla è la prova vivente che l'esecuzione, non solo l'invenzione, può cambiare le carte in tavola.
Voglio dirti a chi serve tutto questo, perché non è per tutti. E qui l'onestà di partenza: Scylla non è una base di dati per il tuo piccolo sito, e non finge di esserlo. È una macchina da corsa per problemi giganteschi: fiumi di dati che arrivano senza sosta da sensori, da eventi, da milioni di utenti, dove servono risposte rapidissime e prevedibili anche sotto carichi che farebbero crollare un database normale. Usarla per un progetto piccolo è come comprare un treno merci per fare la spesa. Capire quando serve, e quando no, sarà uno dei fili di questa stagione. Perché lo strumento più potente del mondo, usato per il problema sbagliato, diventa solo un peso: complicato da gestire, sprecato nelle sue doti, e più costoso di quanto valga.
Voglio inquadrare la stagione, perché allarga il quadro. Con Scylla aggiungiamo un tassello alla nostra collezione di modi di pensare i dati. Abbiamo visto le tabelle, i documenti; ora incontriamo una base di dati pensata per la distribuzione massiccia e la velocità estrema. E, cosa nuova per noi, la guarderemo soprattutto dal punto di vista della macchina: come sfruttare davvero l'hardware, questo è il cuore di Scylla. È la stagione in cui il nostro vecchio motto, capire la macchina sotto la magia, diventa quasi letterale.
Per oggi ci fermiamo qui. Abbiamo aperto la stagione su Scylla, la base di dati dell'ossessione per velocità e scala. Nasce da un'idea: prendere l'eccellente modello di Cassandra, frenata dalla macchina di Java e dalle sue pause, e ricostruirlo da zero con un linguaggio vicino al metallo, per sfruttare ogni nucleo del processore. Stessa anima, cuore nuovo, costruito per correre. Due pilastri: l'efficienza sull'hardware e la distribuzione senza padrone. La novità non è la forma dei dati, ereditata da Cassandra, ma il come: fare enormemente meglio ciò che esiste già. Con un'onestà: non è per i progetti piccoli, è un treno merci per carichi giganteschi. Nella prossima puntata: un nucleo per ogni cervello, l'architettura senza condivisione. Nelle note trovi qualche spunto. Se ti è utile, condividila. Grazie per l'ascolto, e ci sentiamo alla prossima.