对Cassandra数据结构进行实时建模并从所有人中搜索吗?

问题描述 投票:0回答:1

我的项目同时提供实时数据和过去的数据。它的工作方式类似于feed,因此它通过套接字显示实时数据,并通过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
1个回答
0
投票

是,可以,但是您必须改变思维方式,像NoSQL模式那样思考,在这种情况下,您可以重复存储数据,并使用另一个满足您需求的分区键和集群列将数据保存在其他表中。

© www.soinside.com 2019 - 2024. All rights reserved.