4-dw_退化维

目前是一个数据爆炸时代,数据量增长很快,很多的一些维度表数据量大到足可以影响到你的报表展示,比如一些企业的客户维度表,产品维度表等。

我们拿客户维度表来说,在客户维度表中,我们有客户代码,客户名称,月结客户代码,月结客户名称等,见如下图:

在有一些大客户上,他们很多分公司,所以在业务往来的时候都是跟分公司进行合作的,但是在费用结算这块,又是跟这些大客户的总公司进行费用结算的,就像上面数据,华为很多分公司,业务是跟总部、广州分公司、上海分公司合作,但是费用统一是跟总部结算,为了更好的分析客户,所以我们的维度表设计成如上模型,即支持最细粒度的客户分析,又支持按结算口径的分析。但这样的一个维度表如果企业业务量大,客户多,这个维度表的数据可以达到几千万到几亿,因为这里包括本身的大客户和散客,散客就是指还没有成本我们的月结客户,他们发生业务不固定,频率少,但是数据量多,也是公司的一大收入。我们更应该分析这些散客成本月结客户,并服务好这些大客户。

有如下一个分析报表,他们是按月结客户来分析的,这样就把一些大客户的客户代码汇总到月结客户代码上,一些散客的客户代码汇总到99999的月结客户代码上,所以这个客户代码就由之前的几千万减少到几十万,数据量致少减少2个数量级,如果在报表上为了做一些更多的分析,关联维表后,导致模型数据才几十万要关联维度的几千万数据,严重影响性能。

这时候我们就需要在之前的维度表上做一个退化维了。把客户维度表的月结客户做一个退化维,如下图:

这样我们的退化维就只有几十万的数据量了,在基于月结客户做分析时,能很快的响应我们的数据需求,性能提供好几倍。

更多技术文章请关注公众号(长按后点识别图中二维码):

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值