My guess is that you don’t understand what an atomic batch is, give that you 
used the phrase “updated synchronously”. Atomic batches do not provide 
isolation, and do not guarantee immediate consistency. The only thing an atomic 
batch guarantees is that all of the statements in the batch will eventually be 
executed. Both approaches are eventually consistent, so you have to deal with 
inconsistency either way.

On Jul 23, 2015, at 11:46 AM, Anuj Wadehra 
<anujw_2...@yahoo.co.in<mailto:anujw_2...@yahoo.co.in>> wrote:

We have a transaction table,3 manually created index tables and few tables for 
reporting.

One option is to go for atomic batch mutations so that for each transaction 
every index table and other reporting tables are updated synchronously.

Other option is to update other tables async, there may be consistency issues 
if some mutations drop under load or node goes down. Logic for rolling back or 
retrying idempodent updates will be at client.

We dont have a persistent queue in the system yet and even if we introduce one 
so that transaction table is updated and other updates are done async via 
queue, we are bothered about its throughput as we go for around 1000 tps in 
large clusters. We value consistency but small delay in updating index and 
reporting table is acceptable.

Which design seems more appropriate?

Thanks
Anuj

Sent from Yahoo Mail on 
Android<https://overview.mail.yahoo.com/mobile/?.src=Android>


Reply via email to