Это вопрос о поведении кассандры для запроса select *. Это больше для понимания, я знаю, что нормально, я не должен выполнять такой запрос.Запрос все и консистенция
Предполагая, что у меня есть 4 узла с RF = 2. Следующая таблица (столбец семьи): создать таблицу test_storage ( текст идентификатор, created_on TIMESTAMP, место ИНТ, текстовые данные, PRIMARY KEY (ID) ); Я вставил 100 записей в таблицу.
Теперь я выбираю * из test_storage через cqlsh. Выполняя запрос несколько раз, я получаю разные результаты, поэтому не все записи. При изменении согласованности с local_quorum я всегда возвращаю полный результат. Почему это так? Я предположил, что, несмотря на производительность, я также получаю согласованность всех записей, поскольку он должен запрашивать весь диапазон токенов.
Вторая проблема, когда я добавляю вторичный индекс в этом случае к местоположению и выполняю запрос типа select * из test_storage, где location = 1 Я также получаю случайные результаты с последовательностью. И всегда правильные результаты при изменении уровня согласованности local_quorum. И здесь я не понимаю, почему это происходит?