【发布时间】:2019-01-24 19:53:48
【问题描述】:
我为我的网站创建了一些基本分析。 注册用户有自己的页面。我为他们提供了一些关于页面浏览量的基本分析:查看次数、推荐人、浏览器、操作系统和国家/地区。用户可以按小时、天、周、月等进行过滤。 我汇总了当天和当月的所有视图。 我遇到的问题是数据是使用 UTC 时区存储的,这在我开始聚合数据之前很好。例如。 UTC 日与 EST 日不同,这意味着当按周、月和所有时间过滤时,对于 UTC 时区以外的用户,分析是不正确的。
我聚合视图的原因是视图表不会变得太大。当天的所有视图都被压缩为特定页面的一行,然后再次压缩为该月的一行。
我该如何解决这个问题?
【问题讨论】:
-
如果您的用户位于多个时区,我认为您无法预先聚合数据。您需要根据用户对班次、一天、一个月等的定义,按需聚合数据。
-
@Flydog57 不知道如何解决这个问题,也许是 MapReduce?以前从来没有做过这样的事情。记录视图和按需聚合可能是大量数据并且速度很慢。有什么想法或者你能指出我正确的方向吗?谢谢
-
选择一个标准的“日期”——无论是基于 UTC,还是您的大多数用户所在的地方,或者地理中心(例如,如果他们主要是美国用户,聚集在海岸,选择,说“中部时间”。例如,请注意,Stack Overflow 网站上的所有内容都以 UTC 天数衡量。另一种选择是多个预聚合(美洲日、欧洲日、中亚日)。
标签: c# database asp.net-core globalization