Я пытался опробовать Cassandra 3.0 alpha, чтобы увидеть, как материализованные представления работают и следуют приведенному примеру here.Материализованный вид Cassandra показывает устаревшие данные
Пример работает, когда весь раздел удаляется из базовой таблицы, но когда я удаляю отдельную кластерную строку, он продолжает отображаться в материализованном виде. Должна ли строка, удаленная в базовой таблице, также исчезнуть из представлений?
Например:
CREATE TABLE base (part int, clus int , val int, PRIMARY KEY (part, clus));
CREATE MATERIALIZED VIEW view1 AS SELECT part FROM base WHERE part IS NOT NULL AND clus IS NOT NULL AND val IS NOT NULL PRIMARY KEY (val, part, clus);
INSERT INTO base (part, clus, val) VALUES (1, 2, 200);
INSERT INTO base (part, clus, val) VALUES (1, 3, 300);
SELECT * FROM view1;
val | part | clus
-----+------+------
200 | 1 | 2
300 | 1 | 3
Тогда я удалить только один из строк:
DELETE FROM base WHERE part=1 and clus=3;
Теперь я ожидал, что вал = 300, чтобы исчезнуть из поля зрения, но это не так:
SELECT * FROM view1;
val | part | clus
-----+------+------
200 | 1 | 2
300 | 1 | 3
Дальше, если я удалю весь раздел, кластерная строка, которую я удалил ранее, остается на вид:
DELETE FROM base WHERE part=1;
SELECT * from base;
clus | part | val
------+------+-----
SELECT * FROM view1;
val | part | clus
-----+------+------
300 | 1 | 3
Я предполагаю, что это ошибка в альфа-версии, но она хотела убедиться, что это не ожидаемое поведение. Должен ли я удалять отдельные кластерные строки и видеть, что отражено в материализованных представлениях?
Я использую этот релиз:
nodetool version
ReleaseVersion: 3.0.0-alpha1-SNAPSHOT
Спасибо.
Я предполагаю, что это ошибка, так как я думаю, что я вхожу в правильные команды. Спасибо за ссылку. До сих пор я видел очень мало примеров материализованных представлений. –
Эта ошибка была рассмотрена в [CASSANDRA-10014] (https://issues.apache.org/jira/browse/CASSANDRA-10014), спасибо за сообщение! –
Прохладный, я проверю его, когда выйдет следующая сборка. Я с нетерпением жду некоторых тестов производительности. –