Hi folks,

I have few questions regarding indexes.
I skimmed through the source code, and I have a brief understanding of how 
indexes work in Cassandra.
However, some cases are not clear to me.

1. One creates an index on an existing table (timestamp T1). Eventually, 
Cassandra builds the full index for the table (timestamp T2).
If I understand correctly, then Cassandra cannot use the index between T1 and 
T2 because it does not cover the whole table.
What happens with the queries between T1 and T2?
How does Cassandra know where the index is full or not?
How is this decision affected by the distributed nature of the system?

2. An index exists on a table. One inserts a new value (V) into the table (T1), 
then the value gets into the index and being inserted into the index's storage 
(T2).
What happens if a query happens between T1 and T2? If Cassandra uses the index, 
then V is not returned to a user (even though it is technically in the 
database), right?
The same question applies to the other mutations (update/delete).


I believe there are many more edge cases I am not aware of, or I did not 
consider. Please, feel free to share them here if you know any other tricky 
places.

Thank you.
--
AlexDenisov
Software Engineer, https://lowlevelbits.org

Attachment: signature.asc
Description: Message signed with OpenPGP

Reply via email to