Why architecture matters here

Cell TTL fails on hot-key expiration bursts and unexpected compaction cost. Architecture matters because TTL + compaction + read semantics interact.

Advertisement

The architecture: every piece explained

The top strip is basics. Cell write with TTL. Timestamp + TTL = expiration. Read filter skip expired. Compaction removes.

The middle row is granularity. Column family TTL default. Cell-level TTL override. Tombstones for deletes. Major compaction cleans everything.

The lower rows are ops. Hot-key issue. Metrics. Ops — TTL design + compaction schedule.

HBase cell TTL — per-cell TTL + tombstones + compaction interactionauto-expire data without app plumbingCell writewith TTLTimestamp + TTLexpiration timeRead filterskip expiredCompactionremove expiredColumn family TTLdefaultCell-level TTLoverrideTombstonesdelete markersMajor compactionclean sweepHot-key issueexpiration burstMetricsexpired + compaction timeOps — TTL design + compaction schedule + monitoringdefaultoverridemarkcleanburstwatchwatchoperateoperate
HBase cell TTL with compaction interaction.
Advertisement

End-to-end flow

End-to-end: session data written with TTL=1h. After 1h reads filter it out. Next compaction removes physically. Major compaction periodically cleans everything expired.