Я недавно пользуюсь Кассандрой. Я прошел основы, настроил свои схемы и подключил Java-приложение к базе данных. Не столкнулся с какой-либо серьезной проблемой при создании примера приложения. Теперь я начал возиться с неработающими узлами и застрял в списке содержимого семейства столбцов.
У меня есть 5 узлов, 127.0.0.1, 127.0.0.2, 127.0.0.3, 127.0.0.4, 127.0.0.5 и схема datastax.com «demo», за исключением того, что я использовал replication_factor 3 вместо одного ( Я сохранил SimpleStrategy). У меня есть 3 строки в семействе столбцов "users" (ключ "jsmith", "yomama" и "bobbyjo").
Теперь я снимаю узел, 2, 3 или 5 (я еще не трогал 1, так как это мое единственное семя), и подключаюсь к 4, обрабатывая следующий запрос CQL:
select Key, full_name, email, state, gender, birth_year from users;
Как и ожидалось, он дает мне 3 строки даже при отсутствии одного узла. Поэтому следующий шаг - попросить о последовательном результате.
select Key, full_name, email, state, gender, birth_year from users USING CONSISTENCY QUORUM ;
Не удалось. Я не мог понять это. Имея коэффициент репликации 3, я должен сойти с сбитого узла. Теперь ради интереса я добавил следующее общее условие:
select Key, full_name, email, state, gender, birth_year from users USING CONSISTENCY QUORUM where KEY IN ('jsmith', 'bobbyjo', 'yomama') ;
И теперь я получаю свои 3 строки, используя кворум согласованности с одним узлом вниз. Это нормально, что я не могу просмотреть полное семейство столбцов, используя кворум с сбитым узлом, но я все равно могу перечислить все строки, если я дам Кассандре их ключи?