Я нахожусь в моем исследовании для хранения журналов в Кассандре.
Схема для журналов будет примерно такой.Использование Cassandra для данных временных рядов
EDIT: Я изменил схему, чтобы внести некоторые разъяснения.
CREATE TABLE log_date (
userid bigint,
time timeuuid,
reason text,
item text,
price int,
count int,
PRIMARY KEY ((userid), time) - #1
PRIMARY KEY ((userid), time, reason, item, price, count) - #2
);
Новый стол будет создан каждый день каждый день. Итак, таблица содержит журналы только на один день.
Мое условие запроса заключается в следующем.
Запросить все журналы от определенного пользователя в определенный день (дата не время).
Таким образом, причина, значение, цена, счет не будут использоваться в качестве подсказок или условий для запросов вообще.
Мой вопрос в том, какой дизайн PRIMARY KEY подходит лучше.
EDIT: И ключом здесь является то, что я хочу хранить журналы в схематическом виде.
Если я выберу # 1, будет создано столько столбцов для каждого журнала. И возможность иметь больше значений для журнала очень высока. Схема, приведенная выше, является лишь примером. Журнал может содержать такие значения, как subreason, friendid и т. Д.
Если я выберу # 2, один (очень) составной столбец будет создан для каждого журнала, и до сих пор я не мог найти ценную информацию об издержках составных столбцов.
Какой из них выбрать? Пожалуйста помоги.
Разницы между клавишами: HTTP: // StackOverflow.com/questions/24949676/difference-between-partition-key-composite-key-and-clustering-key-in-cassandra –