日志数据(Log Data)不会被直接用于终端用户的报告。因为一个报告所需要的数据很多,直接使用会直接影响报告的呈现效率。 为了解决这个问题,归档过程就应运而成,它会将日志数据归档为归档数据。然后报表就能使用这些归档数据呈现报表了。 欢迎加入Matomo中文网。请加入官方QQ群255820112(点击滚动至本页末可扫描二维码),随时提问,有问必答。 举例 让我们来举个例子,有个网站每天会有1000个页面访问。它的日志数据就会是下面的样子(省略号表示其他属性) 。 URL Time … /homepage 17:00:19 … /about 17:01:10 … /homepage 17:05:30 … /categories 17:06:14 … /homepage 17:10:03 …… 归档过程聚合原始数据成归档数据。如果你想构建每个页面访问次数的报表(找到最热门的网页),归档会列举所有的网页并计算每个网页的访问次数。 URL Page views /homepage 205 /categories 67 /about 5 … 这个数据就是归档数据。 对1000个PV进行预计算看起来似乎是多余的,不过当处理大量数据的时候就尤显必要了。 何时归档 默认情况下,归档数据是按需计算和缓存的。当某个报表被请求的时候,Piwik会检查所需的归档数据是否存在,如果不存在它会启动归档。 提前归档 当追踪的网站流量很大时,按需归档会花费很多时间。在这种情况下,按需归档必须被禁用,取而代之的是将归档变成后台定时任务。 提前归档可以针对每个站点和日期区间(除了自定义日期范围),命令如下: $ ./console core:archive 通常设置的方法是使用cron(Linux定时任务)固定间隔时间执行。 这个命令会记住最后运行的位置,只有在有新记录的时候才会继续执行。 如何执行 日志数据会按照站点、周期(日、周、月、年或自定义时间段)、分段条件(Segment)进行归档。 归档的逻辑是由插件来定义的。插件定义的所有报表会被一起归档,而不是单个单个归档。 如果分段条件(Segment)没有被指定,并且数据没找到,每个插件的每个报表会一次性被生成和缓存。如果分段条件被指定,所请求数据对应插件的所有报表会被生成和缓存。 周期聚合 归档数据的运算方式依赖于周期的类型: 按天数据是直接归档原始日志数据 … Continue reading “Matomo数据模型系列文章之(三)归档过程”