1

我尝试在 cassandra 上建模视图。所以视图看起来像这样:

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 中使用以下方案完成了这样的模型:
link_id bigint
date datetime
unique_visits int
non_unique_visits int

where (link_id, date) -> 主键

所以类似下面的查询给出了令人满意的结果。

SELECT link_id, date, SUM(unique_visits) AS unique_visits_sum, SUM(non_unique_visits) AS non_unique_visits_sum FROM agg_clicks GROUP BY link_id, date ORDER BY unique_visits DESC LIMIT 0, 50

但正如您所了解的,这不是太可扩展,查询的性能取决于页数和天数。另一个问题是需要进行全表扫描才能对计算字段执行排序。

所以,数据建模专家,拜托!!!一点建议。并提前非常感谢您。

4

0 回答 0