Мне нужно ваше мнение о моем дизайне модели данных для моего проекта. Мой проект представляет собой рекомендательную систему в реальном времени. Есть несколько наборов рекомендательных алгоритмов. это означает что-то вроде этого:
коллекция1 { алгоритм1, алгоритм5, алгоритм6}
коллекция2 { алгоритм5, алгоритм6, алгоритм7, алгоритм8}
и т. д.
и мне нужно хранить такие данные, как успех, вероятность выбора, оценка и т. д. для каждого алгоритма (каждые 2 минуты) в коллекции. Поэтому я выбрал Cassandra в качестве хранилища данных, потому что она отлично работает с временными рядами. Мне нужно, чтобы мои данные были сохранены для последующего отображения на некоторых графиках и диаграммах. Как вы думаете, мое решение модели данных в порядке? Я сделал это таким образом:
CREATE TABLE algorithm_by_collection_and_date (
algorithm_id text,
collection_id text,
date text,
event_time timestamp,
score double,
probability double,
PRIMARY KEY ((algorithm_id,collection_id,date),event_time)
);
Таким образом, он разработан как разделение строк путем добавления данных к ключу строки, чтобы ограничить количество столбцов (по дате) для каждого алгоритма в коллекции.
Что Вы думаете об этом? Спасибо, Ян