一、数仓建模的作用
成本:降低数仓的存储成本、计算成本、理解成本。
效率:数据组织结构清晰,提高数据使用效率。
质量:通过模型加工改善数据质量,通过模型对外输出统一的统计口径,降低出错概率。
二、第三范式建模
3NF模型用实体关系模型描述业务。
三、数仓分层的作用
1、提高数据访问效率,空间换时间
2、拆解复杂的处理过程,分层加工
3、层次化
常见层次划分(从下至上):
操作数据层ods->明细数据层dwd->汇总数据层dws->应用数据层ads
公共维度层(dim)记录dwd和dws的维度
四、常用名词
业务过程:组织完成的操作性活动,例如:下单、支付、退款等,不可拆分的行为事件。
粒度:确定某一事实表的行表示的是什么,例如:订单粒度。
有两种表示方式:1、具体的业务含义+粒度(订单粒度)
2、维度属性的组合
维度:描述业务过程中涉及的“谁、什么、哪里、何时、何地”等问题,人们观察数据的特定角度,例如:地理维度(包含国家、省、市区等级别内容)
维度属性:隶属于一个维度,如(中国、北京市)
事实:表示对业务过程的度量,事实通常是数字类型的,可以进行聚合与计算,例如下单金额。
五、维度建模步骤
1、确定业务过程:提交订单
2、确定粒度:订单/订单商品
3、确定维度:下单时间、用户、配送区域
4、确定事实:原价、优惠金额、配送费、打包费
六、缓慢变化处理方式
1、重写
2、添加新行,通过expired_date更新
3、添加新列,取新列
七、快照维表
增加快照日期列,取最新日期做内容变化
优点:逻辑简单,开发成本低
缺点:浪费存储
八、事实的特性
1、可加:可按照任意维度聚合,例如“订单金额”
2、半可加:仅对某些维度可以进行聚合,例如“库存数”
3、不可加:例如“折扣率”
1741

被折叠的 条评论
为什么被折叠?



