Sorry to ask Cassandra again, and I really appreciate your attraction:
I read the following: http://wiki.apache.org/cassandra/FAQ#batch_mutate_atomic and is lost and interesting:
Is it really that in Cassandra WRITES on ONE SIGLE NODE for ONE ROW-KEY (provided that MANY COLUMNS will be updated in ONE COLUMN COLLECTION using batch_mutate) NOT ISOLATED against READING ON ONE NODE to SAME ROW-KEY COLUM that the reading is not ready "partially modified"? Example:
Current Status: [KEY=1 , ColumnName=A with Value=A , ColumnName=B with Value=B] on Node 1
Client A => Writes: [KEY=1 , ColumnName=A with Value=C , ColumnName=B with Value=D] on Node 1
Atomicity:
According to cassandra, Writes Atomic docs for the client performing the recording: The above recording will either be fully successful or will complete completely !? Something like
[KEY=1 , ColumnName=A with Value=C , ColumnName=B with Value=B](= half of the column updates completed successfully, but the other half has not yet been applied / faild) cannot be the RESULT of the record in case of an error? Is it correct?
INSULATION:
Is it true that even in ONE SINGLE NODE (here NODE 1) records are not isolated for those who read the same ROW on the same Node? As described above, if client A has updated half of its columns that need to be changed (here ColumnName = A with value = C), is it true that another connection of client B with NODE 1 will actually see the record as
Client B => Reads: [KEY=1 , ColumnName=A with Value=C , ColumnName=B with Value=B] on Node 1
And after a few milliseconds, reading again, will he see?
Client B => Reads: [KEY=1 , ColumnName=A with Value=C , ColumnName=B with Value=D] on Node 1
.
Why are updates not quarantined based on NODE?
?
NODE 1 , KEY = 1 , , ?
( , Node1 , "" ?
- " "? , / , NODE
, , ( NODE 1) ? (, / , , , !)
" " , "/ ". chaing columsn ( ), columsn . , /.... columsn ...
, : , , ,
nosql/cassandra? ,
/? - , ""
.
!!!
Jens