I'm doing a project where we use Cassandra and I've stumped at an optimisation point. We want to change the database structure considering that read actions are a pretty heavy load on Cassandra.
Currently we write in small batches to Cassandra and reading will happen continuously. We want to make the batches bigger so we maybe change like half the table every 10-15 minutes or so. And as far as I could find Cassandra only locks the row when applying a write action. But is this true? Or does it lock a whole table when writing in it. And (maybe a little bit of a stupid question) can you read while there is a write-lock? (because there is a chance you can still read when there is only a write-lock right?).
The documentation does not show this kind of flow.
There's no locks in Cassandra, where did you read about row locking?
Cassandra working as kind of "append only" writing, and "stale" data removed during compactions.
With all the changes you are doing, you can create many "stale" cells, and your reads will be heavy, so with such high number of changes to the rows i'll suggest using LCS, which suits the most for many of such workflows.