我正在使用Cassandra来保存日志,而在客户端我想要显示某天的所有日志 .
当然有一天会有成千上万的日志记录,我需要使用分页 .
我看到在cassandra中的分页不像“本机”,我们需要使用一些“技巧”,比如保存最后一个检索记录,并在该记录之后查找更多记录 .
我的想法是保存uuid和日期为主键,然后按日期命令列familly,所以我可以传递uuid和date,cassandra应该在该记录后给我记录,依此类推 .
有谁知道这是个好主意,我的意思是在性能方面 . 复合键的uuid和日期是否好?或者也许有更好的解决方案来解决这个问题?
谢谢!
1 回答
据我所知,您根据ID和日期选择主键应该有助于检索一天的所有日志 . 您可能需要验证的是:
每个日志条目都不是一个巨大的值
你'll not have more than 2bn log entries per day (in that case you' ll可能需要更改主键才能使用子日间隔)
关于分页,如果你使用的是Cassandra 2.0,这应该可行(在自动分页之前有一些角落问题,直到iirc,2.0.9) . 博客文章Improvements on the driver side with Cassandra 2.0应该让您了解Cassandra 1.2中的分页是如何工作的以及2.0中的改进