DWS 层与 DWM 层的设计

1.1、设计思路

  我们在之前通过分流等手段,把数据分拆成了独立的 kafka topic。那么接下来如何处理数据,就要思考一下我们到底要通过实时计算出哪些指标项。
  因为实时计算与离线不同,实时计算的开发和运维成本都是非常高的,要结合实际情况考虑是否有必要象离线数仓一样,建一个大而全的中间层。
  如果没有必要大而全,这时候就需要大体规划一下要实时计算出的指标需求了。把这些指标以主题宽表的形式输出就是我们的 DWS 层。

1.2、需求梳理

统计主题需求指标输出方式计算来源来源层级
访客pv可视化大屏page_log 直接可求dwd
uv可视化大屏需要用 page_log 过滤去重dwm
跳出率可视化大屏需要通过 page_log 行为判断dwm
进入页面数可视化大屏需要识别开始访问标识dwd
连续访问时长可视化大屏page_log 直接可求dwd
商品点击多维分析page_log 直接可求dwd
收藏多维分析收藏表dwd
加入购物车多维分析购物车表dwd
下单可视化大屏订单宽表dwm
支付多维分析支付宽表dwm
退款多维分析退款表dwd
评论多维分析评论表dwd
地区pv多维分析page_log 直接可求dwd
uv多维分析需要用 page_log 过滤去重dwm
下单可视化大屏订单宽表dwm
关键词搜索关键词可视化大屏页面访问日志 直接可求dwd
点击商品关键词可视化大屏商品主题下单再次聚合dws
下单商品关键词可视化大屏商品主题下单再次聚合dws

  当然实际需求还会有更多,这里主要以为可视化大屏为目的进行实时计算的处理。

1.3、DWM 层的定位是什么

DWM 层主要服务 DWS,因为部分需求直接从 DWD 层到DWS 层中间会有一定的计算量,而且这部分计算的结果很有可能被多个 DWS 层主题复用,所以部分 DWD 成会形成一层 DWM,我们这里主要涉及业务

➢ 访问 UV 计算
➢ 跳出明细计算
➢ 订单宽表
➢ 支付宽表

1.4、DWS 层的定位是什么

➢ 轻度聚合,因为 DWS 层要应对很多实时查询,如果是完全的明细那么查询的压力是非常大的。
➢ 将更多的实时数据以主题的方式组合起来便于管理,同时也能减少维度查询的次数。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值