首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >聚合数据中错误/数据校正的处理方法

聚合数据中错误/数据校正的处理方法
EN

Database Administration用户
提问于 2017-10-20 11:57:19
回答 1查看 71关注 0票数 4

我们正在构建一个用于捕获网络和销售流量的vNext数据/报告平台。

在一个非常高的水平,我们捕获印象,点击和销售数据,然后需要报告。

  • 印象大约是每天数百万。
  • 点击量:每天10万S
  • 销售:每天1000's

我对这个平台的第一次设计基本上是将数据聚合到每小时、每日、每周和每月的结构中。每个被分组在多个其他维度(客户,品牌,产品,国家,零售商等)有印象计数,点击计数,总价值等等.

因此,每小时,源数据都会被聚合为-> Hourly,然后每天:

  • Hourly数据->新Daily的24小时前
  • Hourly数据->的prev 24小时添加到现有的Weekly或创建新的Weekly
  • Hourly数据->的prev 24小时添加到现有的Monthly或创建新的Monthly

这为我们提供了很大的灵活性,以有效地报告,以及监测趋势和确定潜在的问题。

我不确定的一件事是,在“差异”进入聚合数据的情况下,如何“修复”数据。

每隔一段时间,客户就会提供不正确的定价信息。当这种情况发生时,每一次点击和印象上的“潜在值”都是错误的。

因此,源数据以每小时汇总的形式结束。

如果不被注意到,即使有一天,这一小时数据也会污染每日、每周和每月的总量。而且,由于这些聚合正在构建并以累积方式添加,所以很难撤消它。(你不能从那壶紫色的水里倒出蓝色的水)。

这里的天真解决方案似乎是丢弃已被污染的聚合数据的子集,修复源数据,然后重新生成每个已被删除的聚合。一天后,可能意味着扔掉24小时、1天、1周和1月刊。

还是有另一种我没有想到的方法?

EN

回答 1

Database Administration用户

发布于 2017-10-20 18:38:16

在会计实务中,价值从未改变过。相反,创建辅助补偿事务。在您的情况下,这将意味着一个新行,其值为负值、旧值、不正确值和第二个新行,该值为新的、正确的值。

为了工作,每个数据行都需要自己的datetime列,因此这些补偿事务可以被后处理到正确的存储桶中。

在后处理过程中不能改变平均数。相反,在运行时存储和计算总和和计数。

票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/188922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档