【发布时间】:2020-05-30 21:30:04
【问题描述】:
我的项目同时提供实时数据和过去的数据。它像提要一样工作,因此它通过套接字显示实时数据,并通过 REST api 显示过去的数据(如果向下滚动)。为了有效地获取实时数据,我将日期设置为分区键,将时间设置为集群键。对于实时服务,我觉得这个数据结构建模很好。但我还必须获得有限数量的最近数据(如分页),如果需要,它们应该能够显示整个数据。为了通过 REST api 调用提供最近的 0~20 / 20~40 / 40~60 等数据,我的数据服务服务器必须记住它之前显示的内容以连续加载接下来的 20 个数据,作为书签。如果是 SQL,我会使用 ID 或 page&offset 的东西,但我不能用 Cassandra 做到这一点。所以我尝试了:
SELECT * FROM examples WHERE date<='DATEMARK' AND create_at < 'TIMEMARK' AND entities CONTAINS 'something' limit 20 ALLOW FILTERING;
但是由于日期是分区键,我不能使用比较操作>,
我可以使用 Cassandra 满足我的实时+过去的要求吗?我想知道我是否必须创建另一个数据库来访问过去的数据。
【问题讨论】:
标签: database cassandra nosql real-time