2016-02-05 4 views
0

Этот документ, кажется, подразумевает так:Счётчики идемпотентны с Cassandra 2.1?

http://www.datastax.com/dev/blog/whats-new-in-cassandra-2-1-a-better-implementation-of-counters

«Решающее отличие состоит в том, что вместо входа счетчика дельт (приращения) непосредственно в журнале фиксаций - создание переигровки не-идемпотент и потенциально небезопасны - Кассандрой будет теперь читайте текущее значение для каждого обновления счетчика и применяйте дельта «

Означает ли это, что если счетчик обновляется, повторение может быть выполнено без страха перерасчета?

ответ

2

Нет, это не так.

Это означает, что при сбое узла перехват commitlog является идемпотентным.

Тайм-аут обновления счетчика - это еще одна история, и существует риск чрезмерного подсчета голосов. Я считаю, что счетчики полезны, только если вы не заботитесь о неточности. В противном случае вы должны использовать легкую транзакцию, которая имеет стоимость с точки зрения производительности.