Я перемещаю существующее приложение на основе MySQL в Cassandra. До сих пор найти эквивалентную модель данных Cassandra было довольно легко, но я наткнулся на следующую проблему, для которой я оценил бы некоторый входной сигнал:Запрос семейства столбцов Cassandra для строк, которые не были обновлены за X дней
Рассмотрим MySQL таблицы держит миллионы лиц:
CREATE TABLE entities (
id INT AUTO_INCREMENT NOT NULL,
entity_information VARCHAR(...),
entity_last_updated DATETIME,
PRIMARY KEY (id),
KEY (entity_last_updated)
);
Каждых пяти минут таблицы запрашиваемые для лиц, которые должны быть обновлены:
SELECT id FROM entities
WHERE entity_last_updated IS NULL
OR entity_last_updated < DATE_ADD(NOW(), INTERVAL -7*24 HOUR)
ORDER BY entity_last_updated ASC;
ПРИМИТИВОВ возвращаемых этих запросами затем обновляются с помощью следующего запроса:
UPDATE entities
SET entity_information = ?,
entity_last_updated = NOW()
WHERE id = ?;
Какова будет соответствующая модель данных Cassandra, которая позволила бы мне хранить данную информацию и эффективно запрашивать таблицу сущностей для объектов, которые необходимо обновить (то есть: объекты, которые не были обновлены за последние семь дней)?
Hi! Запрос выдается раз в пять минут. Теперь я обновил свой вопрос с этой информацией. – knorv