Чтобы улучшить свои навыки работы с Гектором и кассандрой, я пробую разные методы для запроса данных из кассандры.
Сейчас я пытаюсь сделать простую систему сообщений. Я хочу получать опубликованные сообщения в хронологическом порядке, начиная с последнего отправленного сообщения.
В обычном sql можно использовать "заказ по". Я знаю, что это возможно, если вы используете OrderPreservingPartitioner, но этот разделитель устарел и менее эффективен, чем RandomPartioner. Я думал о создании индекса для вторичного столбца со значением отметки времени als, но не могу понять, как получить данные. Я уверен, что нужно использовать как минимум два запроса.
Моя колонка Семья выглядит так:
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 и без него.
Заранее спасибо.