Database design 可排序和日期范围有限,使用NoSQL解决方案的数据模型

Database design 可排序和日期范围有限,使用NoSQL解决方案的数据模型,database-design,nosql,cassandra,data-modeling,Database Design,Nosql,Cassandra,Data Modeling,我试图对卡桑德拉的观点进行建模。 因此,视图如下所示: link name | unique visits | non unique visits | ... --------------------------------------------------- page 1 | 4 | 8 | ... page 2 | 2 | 4 | ... page 3 | 3

我试图对卡桑德拉的观点进行建模。 因此,视图如下所示:

link name | unique visits | non unique visits | ...
---------------------------------------------------
page 1    | 4             | 8                 | ...
page 2    | 2             | 4                 | ...
page 3    | 3             | 8                 | ...
page 4    | 1             | 1                 | ...
page 5    | 9             | 11                | ...
...

<page1><page2><page3>...<page n>
所以这里的主要要求是我需要显示指定日期范围的数据。例如用户 可以更改日期选择器和唯一访问|非唯一访问应显示点击总数 在那个日期范围内。 杀死我所有试验的另一个要求是,数据应在唯一访问和非唯一访问基础上进行排序

在过去的MySql中,我使用以下方案实现了这样的模型: 链接id bigint 日期时间 独特的 非唯一访问int

其中链接id,日期->主键

因此,类似下面的查询给出了令人满意的结果

选择链接id、日期、唯一访问次数作为唯一访问次数、唯一访问次数作为非唯一访问次数 从agg_单击 按链接id、日期分组 按唯一订单访问描述 限制0,50

但是,正如您所理解的,这不是太可伸缩的,查询的性能取决于页面计数和天数计数。 另一个问题是,在计算字段上执行排序时需要进行全表扫描

所以,数据建模专家们,请!!!一点建议。
非常感谢您。

我建议您缩小查询参数的范围,并提前离线计算所有可能的结果。是的,这是一个解决方案,但问题是每个用户的链接可能超过100k,您认为从数据库中提取100k对象是一个好主意吗?每个用户请求提取100k对象是否是常规做法?谢谢,还是你想为每个潜在的视图创建一个集合?在这种情况下,我如何构造数据?我的日期范围可能是一年或几天。有很多潜在的结果。谢谢