Мы исследуем использование Cassandra как способа хранения данных типа временных рядов, так что это может быть чем-то вроде вопроса нуба. Одним из вариантов использования является чтение данных из потока Kafka, поиск совпадений и увеличение счетчика (например, 5 клиентов щелкнули по ссылке альфа на странице бета, увеличение (бета, альфа) на 5). Тем не менее, мы ожидаем, что очень высокая степень параллелизма будет соответствовать нагрузке, поэтому одновременно с Kafka могут читать несколько потребителей.
Мой вопрос : Каким образом Кассандра будет разрешать несколько одновременных записей на заданный счетчик из нескольких источников?
Насколько я понимаю, множественные записи в счетчик с разными временными метками будут добавлены к счетчику в полученном порядке временных меток. Однако, если бы была одновременная запись с точной одинаковой отметкой времени, разве модель LWW Кассандры выбросила бы одно из этих приращений счетчика?
Если бы у нас был большой кластер (более 100 узлов), записи ALL или QUORUM могут быть недостаточно быстрыми, чтобы не отставать от трафика сообщений. Кажется, что запись с THREE может привести к ситуации, когда процесс # 1 записывает в узлы A, B и C, но процесс # 2 может записывать в X, Y и Z. Будет ли LWT работать здесь или нет хорошо играть со встречной активностью?