【发布时间】:2014-10-29 12:16:23
【问题描述】:
我正在构建一个分析应用程序,用于跟踪公司营销活动的转化。转换是如果他们去超市购买产品。如果公司是 Heinz,他们可能会针对不同的产品投放广告系列,因此广告系列可能是:
- 焗豆
- 番茄汤
- 番茄酱
这些是在线广告系列,因此它们可以有不同的媒介,例如:
- 网站
- Facebook 页面
- Flash 横幅广告
- 移动应用广告
如果有人购买产品,则通过超市购买,例如:
- 沃尔玛
- 阿斯达
- 安全通道
- 克罗格
我们正在跟踪所有这些的转化。分析应用程序需要显示以上任意组合的转化数据。例如,我可能需要显示转化...
- 用于烤豆。
- 来自 Facebook 页面的烤豆。
- 适用于沃尔玛超市,但适用于所有广告系列和媒体。
- 适用于从 Facebook 页面制作的沃尔玛,但适用于所有广告系列。
- 用于通过 Flash 横幅广告制作的番茄酱和 Safeway。
为了加快分析速度,我们避免处理原始数据(数百万条记录),而是存储每天存储的数据的聚合版本。所以对于 9 月 12 日,我可以存储我们有 12 次烤豆转化,6 次转化(所有产品)是通过网站进行的,沃尔玛有 8 次转化,这些可以放在 3 个单独的表中(称为广告系列,媒体和超市)。但是,如果我需要知道通过 Facebook 页面和沃尔玛进行的番茄酱的转换,那么存储在单独的表格中显然是行不通的。
我正在努力想出一个可以支持上述内容的数据模型。我正在使用标准的关系数据库(MySQL)。也许有更好的策略来处理这个问题。
【问题讨论】:
标签: database database-design data-modeling rdbms dimensional-modeling