我尝试在Cassandra中存储电子邮件用于简报邮件应用程序。
当前架构是:
CREATE TABLE emails (
email varchar,
comment varchar,
PRIMARY KEY (email));
我不知道如何通过增加时间来订购电子邮件(因此可以在不同节点上并行处理电子邮件)。
答案 0 :(得分:1)
只要您能够对数据进行分区以便仍然可以扩展,Cassandra上的PlayOrm可以为您完成这些内容。您可以查询您的分区。订单依旧不存在,但诀窍是使用时间> 0获取1970年代之后的所有内容,强制它使用时间索引,然后只是向后移动光标以获得相反的顺序(或者按顺序转发顺序)。
答案 1 :(得分:0)
Cassandra根据您的列比较器命令写入。您无法使用谓词中的任意列来订购结果。如果要按时间顺序检索,则必须插入时间戳作为列名(或复合名称中的第一个元素)。您还可以创建第二个CF,它将存储按时间排序的记录,您可以根据需要进行查询。不幸的是,CQL给出了类似RDBMS查询功能的错觉,但实际上它仍然是具有相关查询功能的列存储。我的建议是要么避免使用CQL(而是使用基于Thrift的查询),要么确保你理解它在幕后做了什么。