В Кассандре / Сцилле вы ВСЕГДА добавляете.Это означает, что любая операция, будь то вставка / обновление / удаление, создаст новую запись для этого раздела, содержащую новые данные и новую метку времени.В случае операции удаления новая запись будет фактически надгробной плитой с новой отметкой времени (указывающей, что предыдущие данные были удалены).Это применимо, независимо от того, находятся ли данные в памяти (memtable) или уже записаны на диск -> sstable создан.
Несколько «версий» одного и того же раздела с разными данными и разными временными метками могут находиться в нескольких sstables (и дажев памяти) одновременно.SStables будут объединены по продолжительности сжатия, и есть несколько стратегий сжатия, которые могут быть применены.
Когда срок действия gc_grace_period
(по умолчанию: 10 дней, настраиваемый) истечет, при следующем сжатии этот надгробный камень будет удален, что означаетданные, которые были удалены, и надгробная плита, указывающая последнее действие (удаление), не будут объединены с новым sstable.
Внутренняя реализация memtables может немного отличаться в Scylla и Cassandra, но радипростота, давайте предположим, что это то же самое.
Вы можете прочитать больше об архитектуре в следующей документации: