为了提高我对 Hector 和 cassandra 的技能,我正在尝试不同的方法从 cassandra 中查询数据。
目前我正在尝试制作一个简单的消息系统。我想按时间顺序获取发布的消息,最后发布的消息首先。
在纯 sql 中,可以使用“order by”。我知道如果您使用 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 语法和 whitout 的。
提前致谢。