关于数据库:数据仓库知识点以及面试题整理

2次阅读

共计 1031 个字符,预计需要花费 3 分钟才能阅读完成。

一、知识点概述

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 后盾产生的业务数据。
输入零碎:报表零碎、用户画像零碎、举荐零碎

正文完
 0