一文了解数据仓库( 四 )


累积型快照事实表(每天导入新增及变化)累计快照事实表用于跟踪业务事实的变化 。例如,数据仓库中可能需要累积或者存储 订单从下订单开始,到订单商品被打包、运输、和签收的各个业务阶段的时间点数据来跟踪 订单声明周期的进展情况 。当这个业务过程进行时,事实表的记录也要不断更新 。事实维度举例昨天我去菜市场买了一只蝙蝠,然后我就被隔离了 。事实:订单==>买蝙蝠这个事维度:时间==>昨天用户==>我商品==>蝙蝠地理==>菜市场
数据分层为什么分层:
简单化:把复杂的任务分解为多层来完成,每层处理各自的任务,方便定位问题 。减少重复开发:规范数据分层,通过中间层数据,能够极大的减少重复计算,增加结果复用性 。隔离数据:不论是数据异常还是数据敏感性,使真实数据和统计数据解耦 。

一文了解数据仓库

文章插图
 

一文了解数据仓库

文章插图
 

一文了解数据仓库

文章插图
 
ODS层
保持数据原貌不做任何修改,起到备份数据的作用 。
数据采用压缩,减少磁盘存储空间(例如:原始数据 100G,可以压缩到 10G 左 右)
创建分区表,防止后续的全表扫描
DWD层
DWD 层需构建维度模型,一般采用星型模型,呈现的状态一般为星座模型 。
维度建模一般按照四个步骤:选择业务过程→声明粒度→确认维度→确认事实
选择业务过程
在业务系统中,挑选我们感兴趣的业务线,比如下单业务,支付业务,退款业务,物流 业务,一条业务线对应一张事实表 。
声明粒度
订单中,每个商品项作为下单事实表中的一行,粒度为每次下单
每周的订单次数作为一行,粒度就是每周下单 。
每月的订单次数作为一行,粒度就是每月下单
数据粒度指数据仓库的数据中保存数据的细化程度或综合程度的级别 。
声明粒度意味着精确定义事实表中的一行数据表示什么,应该尽可能选择最小粒度,以 此来应各种各样的需求 。
典型的粒度声明如下:
确定维度维度的主要作用是描述业务是事实,主要表示的是“谁,何处,何时”等信息 。确定事实此处的“事实”一词,指的是业务中的度量值,例如订单金额、下单次数等 。
在 DWD 层,以业务过程为建模驱动,基于每个具体业务过程的特点,构建最细粒度的 明细层事实表 。事实表可做适当的宽表化处理 。
一文了解数据仓库

文章插图
 
DWS层统计各个主题对象的当天行为,服务于 DWT 层的主题宽表,以及一些业务明细数据,应对特殊需求(例如,购买行为,统计商品复购率) 。
一文了解数据仓库

文章插图
 
DWT层
以分析的主题对象为建模驱动,基于上层的应用和产品的指标需求,构建主题对象的全 量宽表 。(就是按照维度来决定分析者的角度,如用户->什么时间->下了什么单,支付了什么,加入购物车了什么
一文了解数据仓库

文章插图
 
ADS层
对系统各大主题指标分别进行分析 。
大数据平台(DATA Platform)大数据平台则是指以处理海量数据存储、计算及流数据实时计算等场景为主的一套基础设施,包括了统一的数据采集中心、数据计算和存储中心、数据治理中心、运维管控中心、开放共享中心和应用中心 。
大数据平台的建设出发点是节约投资降低成本,但实际上无论从硬件投资还是从软件开发上都远远超过数据仓库的建设,大量的硬件和各种开源技术的组合,增加了研发的难度、调测部署的周期、运维的复杂度,人力上的投入已是最初的几倍;还有很多技术上的困难也非一朝一夕能够突破 。
首先是数据的应用问题,无论是数据仓库还是大数据平台,里面包含了接口层数据、存储层数据、轻度汇总层、重度汇总层、模型层数据、报表层数据等等,各种各样的表有成千上万,这些表有的是中间处理过程,有些是一次性的报表,不同表之间的数据一致性和口径也会不同,而且不同的表不同的字段对数据安全要求级别也不同 。
此外还要考虑多租户的资源安全管理,如何让内部开发者快速获取所需的数据资产目录,如何阅读相关数据的来龙去脉,如何快速的实现开发,这些在大数据平台建设初期没有考虑周全 。


推荐阅读