Мне нужно создать таблицу в Cassandra для хранения статусов операций. Моя модель выглядит следующим образом:Cassandra - Основной ключ с колонкой, которую я хочу обновить
import 1.. * import_statuses
таблица импорта:
id - 1
date - 2016-08-09
стол import_statuses:
id - 232
import_id - 1
status - IMPORT
И теперь я должен искать в импорте и о состоянии во второй таблице. Но мне нужен только последний статус со второй таблицы.
Денормализованные данные в этих двух таблицах:
1, 2016-08-09, 232, 1 IMPORT
1, 2016-08-09, 233, 1 SENDING
1, 2016-08-09, 234, 1 SENT
2, 2016-08-11, 235, 2 IMPORT
2, 2016-08-11, 236, 2 SENDING
И мне нужно, чтобы получить только те строки, третий и пятый:
1, 2016-08-09, 234, 1 SENT
2, 2016-08-11, 236, 2 SENDING
Хорошо, вы могли бы написать образец запроса выбора, чтобы восстановить все строки, имеющие статус xx? – Robert
В Cassandra есть концепция «Модель вокруг ваших запросов», в которой в основном говорится, что вам нужно знать все ваши запросы, прежде чем придумать хороший дизайн. [Этот документ] (http://www.datastax.com/dev/blog/basic-rules-of-cassandra-data-modeling) содержит основные правила проектирования, вы также можете посмотреть [Моделирование данных] (https://academy.datastax.com/courses/ds220-data-modeling) курса DataStax. Короткий ответ заключается в том, что вам, вероятно, нужна дополнительная таблица, в которой хранятся записи по статусу, но правильный дизайн зависит от других возможных полей запроса. – medvekoma