一、知识点概述

1、数仓分层概念

  • ods:operation data store原始数据层,
    数据保持原貌不做处理
  • dwd:data warehouse detail明细数据层
    结构和粒度与原始表保持一致,对ods层数据进行清洗(去除空值,脏数据)
  • dws:data warehouse service数据服务层
    数据轻度汇总
  • ads:application data store 数据应用层
    为各种统计报表提供数据

    2、数仓为什么要分层

    • 把复杂问题简单化:把一个复杂的任务分解成多个步骤来完成,每一层只处理单一的步骤,比较简单,并且方便定位问题
    • 减少重复开发:通过的中间层数据,能够减少极大的重复计算,增加一次计算结果的复用性
    • 隔离原始数据:使真实数据与统计数据解耦开

3、数据集市与数据仓库概念

数据集市则是一种微型的数据仓库,通常有更少的数据,更少的主题区域,更少的历史数据,部门级的,一般只能为某个局部范围内的管理人员服务。

数据仓库是企业级的,能为整个企业各个部门的运行提供决策支持手段

4、表的分类

  • 实体表:一般是指现实存在的业务对象
  • 维度表:一般是指对应一些业务状态,也可称为码表
  • 事务型事实表:一般指随着业务发生不断产生数据,特点是一旦发生不会再变化
  • 周期型事实表:一般指随着业务发生不断产生变化(更新,新增)的数据,如订单

5、同步策略

  • 全量表:存储完整的数据
  • 增量表:存储新增加的数据
  • 新增及变化表:存储新增加的数据和变化的数据
  • 拉链表:对新增及变化表做定期合并

实体表(用户,商品,商家):每日全量
维度表(订单状态,审批状态,商品分类):每日全量
事务型实时表(交易流水,操作日志,出库入库记录):数据量大且不变,每日增量表,每日创建一个分区存储
周期型事实表(订单,请假等):用每日新增和变化表,制作一张拉链表

6、范式理论

目的:(1):减少数据冗余,尽量让每个数据只出现一次;(2)保证数据一致性

7、三范式区分

(1)第一范式:属性不可切割,所有关系数据库等最基本要求
(2)第二范式:不能存在部分函数依赖
(3)低三范式:不能存在传递函数依赖

8、关系建模与维度建模

  • 关系建模:为了保证数据的一致性和避免冗余,所以大部分业务系统的表都是遵循低三范式
  • 维度建模:

    • 星型模型:区别主要在于维度的层级,标准
    • 雪花模型
    • 星座模型

oltp (随机延时读写)
olap (批量导入)

二、面试题

1)数据仓库的输入数据源和输出系统分别是什么?
输入系统:埋点产生的用户行为数据、JavaEE后台产生的业务数据。
输出系统:报表系统、用户画像系统、推荐系统


qingbird
4 声望0 粉丝

« 上一篇
hadoop基础整理