Кассандра - не расстраивайся - PullRequest
0 голосов
/ 14 декабря 2018

У нас есть требование, когда мы хотим, чтобы наше приложение (которое могло быть развернуто на нескольких хостах) создавало строку в Cassandra.Единственный хост, который успешно создал строку, выполняет работу.Было бы достаточно написать оператор вставки, как показано ниже, чтобы, если два сервера попытались вставить строку, только один преуспел, а другой получил исключение / не удалось?

INSERT INTO keyspace1.claim (claim_id, status) VALUES (1, false) IF NOT EXIST

Хотелось бы понять, использование IF NOT EXIST поможет избежать упадка.

Спасибо, Шилпа

1 Ответ

0 голосов
/ 14 декабря 2018

Да, IF NOT EXISTS будет включать раунд Паксос и чтение перед записью, хотя и намного медленнее.Проверьте набор результатов вставки с помощью wasApplied(), чтобы узнать, потребовалось ли оно или нет.

https://www.datastax.com/dev/blog/lightweight-transactions-in-cassandra-2-0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...