How does adding/replacing/decommissioning node affect the SSTables if using TWCS

There are a couple of documents and articles online that suggest turning off read repair for tables using the time window compaction strategy (TWCS), as it mixes data that should belong to old buckets into new ones, which leads to higher read amplification.

I wonder if some common node operations will cause similar issues. Specifically, adding a node, replacing a dead node, running nodetool repair, running nodetool decommission or running nodetool rebuild.

Also, has ScyllaDB implemented some optimizations regarding TWCS compared to Cassandra?

@Guy could you help with this, thank you

All node operations, as well as repair, will split data into buckets appropriate for the TWCS parameters, so neither streaming, nor repair should cause any mixing of data from different buckets. You can repair your TWCS table, and you can add/remove/rebuild nodes, it shouldn’t cause any mixing of old/new data.

1 Like

You can learn more about TWCS in this lesson.
This is a hands-on lab where you can see TWCS in action.

AFAIK there are no major differences between TWCS in ScyllaDB and Cassandra.

1 Like