Tombstone (database)
Un marcatore che indica che una chiave è stata cancellata, invece di rimuovere subito fisicamente i dati. Necessario nei sistemi append-only e distribuiti, perché la cancellazione si propaghi correttamente prima che i vecchi dati vengano ripuliti.
Il perché: in un albero LSM non si può «rimuovere» da una SSTable immutabile; si scrive invece un tombstone che oscura il vecchio valore in lettura. Nei sistemi distribuiti (Cassandra) il tombstone deve inoltre essere replicato su tutti i nodi prima che i dati possano essere eliminati, altrimenti un nodo che si è perso la cancellazione potrebbe «resuscitare» i dati morti (uno zombie).
Per questo esiste un periodo di grazia (gc_grace_seconds) prima che la compaction elimini sia i dati sia il tombstone. Il problema: troppi tombstone (per esempio in carichi simili a code) rallentano drasticamente le letture, un classico tranello di Cassandra. Imparentato con compaction e anti-entropy.