"Is BATCH the recommended way of updating all three tables at one go so that the information between the three tables is consistent ? "
If you're thinking about "atomicity", no it's not atomic. Indeed with logged batches, what you gain is automatic retry done for you by the coordinator in case of failure in the middle of the batch, and that's pretty much it. The logged batch relieves the developer of the burden of having to set up a retry strategy client side In general, it is recommended not to put too much data/statements in a batch because the coordinator will block until having the ack for each statement in the batch. Having thousands of statements in the same batch or few statements with huge payload is definitely a bad idea. "Are there alternate approaches and recommendations?" If you don't care about managing retry yourself (or relying on the retry policy of the driver), use executeAsync() to dispatch all statements over the nodes of your cluster On Mon, Mar 16, 2015 at 8:38 PM, Robert Coli <rc...@eventbrite.com> wrote: > On Mon, Mar 16, 2015 at 12:13 PM, Viswanathan Ramachandran < > vish.ramachand...@gmail.com> wrote: > >> Is BATCH the recommended way of updating all three tables at one go so >> that the information between the three tables is consistent ? >> > > As a general statement : > > If you are looking to update multiple tables in a transaction, maybe > Cassandra is not the ideal data-store for you. It is pretty un-Cassandric > to want to do such a thing. > > =Rob > >