Чтобы улучшить свои навыки в Гекторе и Кассандре, я пробую разные методы для запроса данных из Кассандры.
В настоящее время я пытаюсь создать простую систему сообщений.Я хотел бы получить отправленные сообщения в хронологическом порядке с последним первым опубликованным сообщением первым.
В простом sql можно использовать 'order by'.Я знаю, что это возможно, если вы используете OrderPreservingPartitioner, но этот разделщик устарел и менее эффективен, чем RandomPartioner.Я думал о создании индекса для вторичного столбца со значением метки времени als, но я не могу понять, как получить данные.Я уверен, что мне нужно использовать как минимум два запроса.
Моя колонка Family выглядит следующим образом:
create column family messages
with comparator = UTF8Type
and key_validation_class=LongType
and compression_options =
{sstable_compression:SnappyCompressor, chunk_length_kb:64}
and column_metadata = [
{column_name: message, validation_class: UTF8Type}
{column_name: index, validation_class: DateType, index_type: KEYS}
];
Я не уверен, должен ли я использовать DataType или long длястолбец индекса, но я думаю, что это не важно для этого вопроса.
Так как я могу отсортировать данные?Если возможно, я хотел бы знать, как это делается белым синтаксисом CQL и без него.
Заранее спасибо.