Transaction with Cassandra Data Model

According to CAP theory, Cassandra can only have a finite sequence. To make matters worse, if we have several reads and records during the same request without proper processing, we may even lose logical consistency. In other words, if we do everything fast, we may do it wrong.

Meanwhile, the best practice for developing a data model for Cassandra is to think about the queries that we will have, and then add CF to it. Thus, adding / updating a single entity means repeatedly updating many views / CF. Without the atomic transaction function, it's hard to do it right. But with this we again lose parts A and P.

I don’t see this affecting many people, so I wonder why.

  • Is it because we can always find a way to design our data model to avoid multiple read and write operations in one session?
  • Is it because we can simply ignore the "right" part?
  • In real practice, do we always have the ACID function somewhere in between? I mean, maybe implement at the application level or add middleware to handle it?
+5
source share
1 answer

This applies to people, but presumably you are using cassandra because a single database server cannot meet your needs due to scaling or reliability issues. Because of this, you are forced to work with the limitations of a distributed system.

ACID - ? , , ?

, - , , - . .

, , , cassandra, . , , .

, , Zookeeper cages, .

+2

All Articles