piwik学习,让我们看看Piwik


 

数据模型,处理和存储

Piwik可以让您收集分析数据,然后稍后检索为报告。让我们看看Piwik如何模拟,处理和存储数据。

日志数据:原始分析数据
HTTP跟踪API(即Piwik\Tracker组件)接收原始分析数据,我们称之为“ 日志数据 ”。

日志数据在PHP中表示为Piwik\Tracker\Visit对象,并存储到下表中:

log_visit 每次访问包含一个条目(返回访问者)
log_action 包含网站上所有可能采取的行动(例如,唯一网址,网页标题,下载网址...)
log_link_visit_action 每个行动的访客包含一个条目(页面浏览,...) log_conversion 包含访问期间发生的转化(与目标相符的操作) log_conversion_item 包含电子商务转换项目 

这些表格是为快速插入而设计和优化的,因为跟踪API需要尽可能快地处理流量较大的网站。

这些表(及其相关的PHP实体)的内容将在“Piwik数据库模式”指南中有更详细的解释。

存档过程

以上表格并非针对提取高级别报表而设计或优化的:当有大量数据时,将日志条目聚合到日,周或月可能变得太密集。

该归档过程将读取日志数据汇总,以生产“ 数据归档 ”。数据汇总并存储为每个:

  • 自定义日期范围

归档数据可以是:

  • 数字指标:简单的数值(如页面浏览量)

    这些存储在archive_numeric_*表中。值存储为float。

  • 表记录:二维数据(可以是数值以及任何其他数据),表示为Piwik\DataTable对象

    这些存储在archive_blob_*表中。DataTable对象被序列化为字符串并被压缩以被存储BLOB在表中。

    DataTable存储在数据库中的对象是命名记录,以区分它们与DataTablePiwik的API所操纵和返回的对象,我们将其命名为报告。

在每个聚合级别处理和存储每个数字度量或表记录:日,周和月。例如,这意味着“进入页面”报告将被处理并存储在每月的每一天以及每个星期,月份,年份和自定义日期范围内。这样的数据是多余的,但这对于保证快速性能至关重要。

因为存档数据必须快速查询,所以每个月都会分开单独的表。我们将会有:

  • archive_numeric_2014_10:2014年10月的指标
  • archive_blob_2014_10:2014年10月的报告
  • archive_numeric_2014_11:2014年11月的指标
  • archive_blob_2014_11:2014年11月的报告
  • ...
    “Piwik数据库模式”指南中详细介绍了归档表的内容。归档过程在“归档”指南中有详细的说明。

从存档数据到报告

如上所示,数据作为数字度量或表格记录存储。

报表是DataTable对象,由插件定义的API类提供。API类访问持久化的度量标准或记录,并将其转换为可呈现的报告。

有时候,一个持续的记录可能是几个API报告的来源。

您可以在“报告”指南中阅读有关如何创建和投放报告的更多详细信息。

派维克的可扩展性点

Piwik Core仅定义主要的流程和行为。插件可以通过几个可扩展点扩展和定制它们:

注册事件或触发事件
执行派维克公认的特殊课程
扩展某些抽象基类

 

 
 

转载于:https://www.cnblogs.com/lxk233/p/10057083.html

相关内容