DataStax Cassandra, , , , .
, .
, . (CAS), IF NOT EXISTS . .
Cassandra 1.2 , , , . , , : , .
, , , ( ), (-).
. ( .)
( CAS) - , . , , , object_unique_index ; unique_user_value_for_insert. " " - , ; - IF NOT EXISTS. ( , .)
INSERT user_value, generated_value INTO unique_user_value_for_insert IF NOT EXISTS;
, [applied]=false, , . [applied]=true, .
CAS , , "" . .
UnavailableException
, , UnavailableException. , , , , , , , .
, , node . true, CAS , , , , . ( CAS) , "" CAS.
DELETE , CL.ANY, , / , , , . , .
CassandraWriteTimeoutException
- , , .... [T] , , ( CQL) ( / ).
, , , . , , . -, CAS :
paxos , WriteTimeoutException WriteType.CAS, WriteTimeoutException # getWriteType(). , CAS, , . , . paxos UnavailableException, . , SERIAL LOCAL_SERIAL.
, , . " , CAS", IF NOT EXISTS . , , ; - , . IF NOT EXISTS , :
, , - . "" CAS, (), , .
, CAS :
Cassandra , UnavailableException WriteTimeoutException, . , CAS, , setConsistencyLevel (ConsistencyLevel.SERIAL) , , Cassandra Paxos, . , , SERIAL- CAS, , CAS.
, "" , Paxos, :
- , , (. WriteTimeoutException # getWriteType()):
BATCH_LOG: -, , . , . , , . , , , , .
BATCH: , . , Cassandra , , . , , - , havent . , -, , , , , .
UNLOGGED_BATCH: - , . , , , , . , .
.
. :
- , , , .
- , , ,
IF NOT EXISTS. . - , . , , ( ) , - "" , .
- .