Должна ли каждая таблица в Cassandra иметь ключ раздела? - PullRequest
0 голосов
/ 06 ноября 2018

Я пытаюсь создать таблицу Cassandra, где я храню журналы для магазина в соответствии с отметкой времени. Я также хочу создать запрос, который возвращает данные в порядке убывания относительно отметки времени. Если я сделаю свою временную метку в качестве первичного ключа, она автоматически станет ключом раздела, поскольку у меня нет других столбцов в качестве составного первичного ключа.

А в Кассандре мы не можем сделать ORDER BY для ключей раздела. Есть ли способ сделать мою временную метку первичным ключом, а не ключом раздела (БД Cassandra без ключа раздела).

Спасибо заранее.

создание таблицы при необходимости:

CREATE TABLE myCass.logs(timestamp timestamp, logs text, PRIMARY KEY (timestamp));

1 Ответ

0 голосов
/ 06 ноября 2018

Поскольку у вас есть метка времени, вы знаете год, месяц, день. Вы можете использовать их в качестве ключа раздела и использовать метку времени в качестве столбца кластеризации. Таким образом, вы также удовлетворите потребность в ключе раздела, у вас будет первичный ключ для данных, вы можете упорядочить по временным меткам и равномерно распределить свои данные по кластеру.

Этот способ разделения данных называется группированием. Вот хорошее прочтение на эту тему - Моделирование данных временных рядов Кассандры для массивных масштабов

...