大数据开发必备技能_第三阶段13_数据仓库01

目录

1.数据仓库是什么 ***

2.数据仓库和数据库有什么区别 *

3.为什么要对数据仓库分层 ***

4.为什么需要数据建模 *

5.经典的数据仓库建模方法论有哪些 ***

6.数仓相关的名词术语解释,比如数据域、业务过程、衍生指标 *

7.派生指标的种类 *

8.经典数仓分层架构 ***

9.模型设计的基本原则 *

10.模型实施的具体步骤 **

1.数据仓库是什么 ***

数据仓库是一个面向主题的(比如订单、商品、会员)、集成的来自不同数据源的统一数据规范比如男女的取值,命名规范的统一,字段类型的统一)、非易失(一般不会进行删除和修改操作)且随时间变化(并不是数据会变,而是数据随着时间会不断增多)的数据集合,主要用于存储历史数据,然后通过分析整理进而提供数据支持和辅助决策。

2.数据仓库和数据库有什么区别 *

数据库中主要存放的是一些在线的数据,数据仓库中主要存放的是历史数据,并且存放的数据要比数据库多

数据库主要用于业务处理(比如交易系统),数据仓库主要用于数据分析

数据库的设计就是要避免冗余,而数据仓库通常会专门引入冗余,减少后面进行分析时大量的join操作

3.为什么要对数据仓库分层 ***

第一个是将复杂的需求简单化;我们通过将复杂的问题分解为多个步骤来完成,每一层只处理单一的步骤,比较容易和理解

第二个是提高数据的复用性;比如在已经得到最终结果之后,又需要中间层的一些数据,我可以直接查询中间层的数据,不必重新进行计算

补充说一下:数据仓库就是一种以空间换取时间的架构!

4.为什么需要数据建模 *

爆发式的数据增长,如何对数据进行有序、有结构地分类组织和存储是一大挑战。数据模型是数据存储和组织方法,它强调从业务、数据存取和使用角度合理存储数据。有了适合业务的数据模型之后,那么大数据就可以获得以下好处:性能、成本、效率、质量

5.经典的数据仓库建模方法论有哪些 ***

  • ER模型是Inmon提出的,这个模型是符合3范式的,他的出发点就是整合数据,将各个系统中的数据以整个企业角度按主题进行分类,但是不能直接用于分析决策
  • 维度模型是Kimball提出的,这个人和Inmon算是数仓的两个流派,他的出发点就是分析决策,为分析需求服务,而现在多数的数仓的搭建都是基于维度模型进行搭建的。
  • 区别:ER模型冗余更少,但是在大规模数据跨表分析中,会造成多表关联,这会大大降低执行效率

6.数仓相关的名词术语解释,比如数据域、业务过程、衍生指标 *

  • 数据域:将业务过程或者维度进行抽象的集合,例如交易域、商品域等都是数据域
  • 业务过程:一个不可拆分的行为事件,例如下单、支付、退款等都是业务过程
  • 维度:用于分析事实所需要的多样环境/角度,例如时间、地理等都是维度
  • 维度属性:维度属性隶属于一个维度,例如地理维度中的国家名称、国家ID、省份名称等都是维度属性
  • 原子指标:业务中定义的不可拆分的指标,用来度量某一行为事件,例如支付金额、下单数目等都是原子指标
  • 派生指标:就是对原子指标统计范围的限定,形式为 一个原子指标+多个修饰词【可选】+时间周期,例如最近一天通过花呗支付的金额(原子指标:支付金额,修饰词:花呗支付,时间周期:最近一天)

7.派生指标的种类 *

  • 事务型指标:对业务活动进行衡量的指标。例如订单支付金额、新发商品数、新增注册会员数
  • 存量型指标:对实体对象(比如商品、会员)某些状态的统计。例如商品总数、会员总数等,这类指标需维护原子指标及修饰词,在此基础上创建衍生指标,对应的时间周期一般为"截止当前某个时间"
  • 复合型指标:在事务型指标和存量型指标的基础上复合而成的。通常为比率型或者比例型,例如UV-下单买家数转化率,最近一天无线支付金额占比等

8.经典数仓分层架构 ***


  • 操作数据层(ODS):把业务系统、日志等数据几乎无处理地同步到ODS层中
  • 公共维度模型层(CDM):存放明细事实数据、维表数据及公共指标汇总数据,其中明细事实数据和维表数据一般由ODS加工生成;公共指标汇总数据一般根据明细事实数据和维表数据加工生成
    • 明细数据层(DWD)
    • 汇总数据层(DWS)
  • 应用数据层(ADS):存放个性化的统计指标数据,一般根据ODS和CDM加工生成

9.模型设计的基本原则 *

  • 高内聚和低耦合:将业务相关、粒度相同的数据设计为同一个物理模型,将高频率同时访问的数据放一起,将低频率同时访问的数据分开存储
  • 核心模型与扩展模型分离:核心模型包括的字段支持常用的核心业务,扩展模型包括的字段支持个性化或少量应用的需要
  • 公共处理逻辑下沉:越是公用的处理逻辑,越应该在数据调度依赖的底层进行封装与实现,不要让公共逻辑多处同时存在
  • 成本与性能平衡:适当的数据冗余可以换取查询和刷新性能,但不要过度冗余
  • 数据可回滚:处理逻辑不变,在不同时间多次运行,数据结果确定不变
  • 一致性:具有相同含义的字段在不同的表中命名必须相同
  • 命名清晰可理解:表名需易于消费者理解和使用
  • 10.模型实施的具体步骤 **

  1. 数据调研
    1. 业务调研:以阿里为例,整个阿里集团涉及的领域包括电商、导航、本地生活等领域。各个领域又包括多条业务线,比如电商包括了 淘宝、天猫、天猫国际等。那么是各个业务领域单独建设数仓还是一起建设数仓仍然是一个问题,在阿里,一般各个业务领域单独建设数仓,因为业务领域内的业务线由于业务相似、业务相关性较大,可进行统一集中建设
    2. 需求调研:通常包括两种途径,一是根据与分析师、业务运营人员沟通获知需求;二是对报表系统中的现有报表进行分析。比如说,分析师需要了解 大淘宝一级类目的成交金额。当获知这个需求后,我们需要分析根据什么汇总(维度),以及汇总什么(度量),这里类目是维度,成交金额是度量;明细数据和汇总数据应该怎么设计?这是一个公用的报表吗?是需要沉淀到汇总表里面,还是在报表工具中进行汇总?
  2. 架构设计
    1. 数据域划分:数据域需要抽象提炼,并且长期维护和更新,但不经常变动。在划分数据域的时候,既能涵盖当前所有的业务需求,又能在新业务进入的时候无影响地被包含进已有的数据域中或者扩展新的数据域。比如会员域、商品域、店铺域、日志域、交易域等
    2. 构建总线矩阵:需要做两件事情,一是明确每个数据域下有哪些业务过程,二是确定业务过程与哪些维度相关。
  3. 规范定义:定义指标体系,包括原子指标和派生指标
  4. 模型设计:包括明细事实表、维度表以及汇总事实表的模型设计
  5. 代码开发
  6. 部署运维
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据小塔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值