I would like to clarify belatedly some things here.
First, regarding Theodore, the answer is:
1) All rows have an internal tombstone space for simplicity, so when a new row is combined with a tombstone, it simply becomes a “row with new data, which also remembers that it was once deleted at time X”. Thus, in this respect there is no real punishment.
2) It is not true to say that "If you create and delete a column value fast enough so that there is no reset in the middle ... the tombstone is [just] discarded"; tombstones are always preserved, for correctness. Perhaps the situation that Theodore was thinking about was the opposite: if you delete, insert a new column value, then the new column will replace the tombstone (like any obsolete value). This is different from the case of the row, because the column is the "atom" of the repository.
3) Given (2), the delete-row-and-insert-new-one command is likely to be more efficient if many columns are deleted over time. But for one column, the difference is not significant.
Finally, regarding Tyler’s answer, in my opinion, it’s more idiomatic to simply remove the column in question than change its value to an empty [byte] line.
source share