赞
踩
1.把复杂的问题简单化:把一个复杂的问题分解成多个步骤来完成,每一层只处理单一的步骤,简单、方便定位。
2.减少重复开发:规范数据分层,通过的中间层数据,能够极大的减少重复计算,增加一次结果的复用性。
3.隔离原始数据:不论是数据的异常还是数据的敏感性,使真实数据与统计数据解耦开。
1.ODS(Operational Data Store)原始数据层:存放原始日志、数据,数据保持原貌不做处理。
2.DWD(Data Warehouse Detail)明细数据层:对ODS层数据进行清洗(去除空值、脏数据、超过极限范围的无效数据);
3.DWS(Data Warehouse Service)服务数据层:以DWD为基础,进行轻度汇总。
4.ADS(Application Datahouse Store)应用数据层:为各种统计报表提供数据。
1.外部表:删除表时只是删除了表的元数据,并不会删除表中数据的源数据。
2.内部表:删除表时,表中数据的源数据与表的元数据都会被删除。通常在分析指标过于复杂时,会以内部表的方式创建临时表。
1.实体表:一个现实存在的业务对象,比如用户、商品、商家等。
2.维度表:对应的一些业务状态,编号的解释表,也可称为码表。比如地区表、订单状态、支付方式、审批状态、商品分类等。
3.事务型事实表:随着业务的发展不断产生的数据。特点是一旦产生不会再变化。比如交易流水、操作日志、出库入库记录等。
4.周期型事实表:随着业务发生不断地产生的数据。与事务型事实表不同的是,数据会随着业务周期性的推进而变化。比如订单,其中订单状态会周期性变化。
数据同步策略的类型包括:全量表、增量表、新增及变化表。
1.全量表:存储完整的数据。
2.增量表:存储新增加的数据。
3.新增及变化表:存储新增加的数据和变化的数据。
4.拉链表:对新增及变化表做定期合并。
实体表数据量比较小,通常可以做每日全量,就是每天存一份完整数据。
维度表数据量比较小,通常可以做每日全量,就是每天存一份完整数据。
说明:针对可能会有变化的状态数据可以存储每日全量。没变化的客观世界的维度(比如性别、地区、民族、鞋子尺码)可以只存一份固定值。
因为数据不会变化,而且数据量巨大,所以每天只同步新增数据即可,所以可以做成每日增量表,即每日创建一个分区存储。
这类表从数据量的角度,存每日全量的话,数据量太大、冗余也太大。如果用每日增量的话无法反应数据变化。因此,同步每日新增及变化量,包括了当日的新增和修改。
钻取可以改变维度的层次,变换分析的粒度。上钻是沿着维的层次向上聚集汇总数据。下钻是沿着维的层次向下,查看更详细的数据。
维度的设计过程就是确定维度属性的过程。数据仓库的能力直接与维度属性的质量与深度成正比。
关系建模适用于OLTP,严格遵守三范式理论,最大程度减少数据冗余。维度建模适用于OLAP,通过数据冗余减少分析时的表关联操作,用存储空间换取查询效率。维度建模就是把OLTP中的各种相关的表转换成事实表和维度表的过程。
数据域:指面向业务分析,将业务过程或者维度进行抽象的集合。 为保障整个体系的生命力,数据域是需要抽象提炼,并且长期维护和更新的,但不轻易变动。在划分数据域时,既能涵盖当前所有的业务需求,又能在新业务进入时无影响地被包含进已有的数据域中和扩展新的数据域。
主题:
1.选择业务过程:从业务系统中选择感兴趣的业务过程。
2.声明粒度:声明粒度意味着精确定义事实表中的一行数据表示什么,应该尽可能选择最小粒度,以此来满足各种各样的需求。
3.确认维度:确定维度的原则是后续需求中是否需要分析相关维度的指标。若想要较好的性能,需要把维度表根据维度建模中的星型模型原则进行维度退化。
4.确认事实
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。