数据仓库理论

数据仓库理论

一、数据仓库简介

1.1、 数据仓库

数据仓库为一个面向主题的、集成的、随时间变化的、非易失的数据集合,用于支持管理者的决策过程。

  • 操作型系统和分析型系统
  • 数据仓库架构

1.2 、etl

  • 数据抽取

    • 逻辑抽取(增量抽取|全量抽取)
    • 物理抽取(联机抽取|脱机抽取)
  • 数据转换

    • 只装载特定的数据列。例如,某列为空的数据不装载。
    • 统一数据编码。例如,性别字段,有些系统使用的是1和0,有些是‘M’和‘F’,有些是‘男’和‘女’,统一成‘M’和‘F’。
    • 自由值编码。例如,将‘Male’改成‘M’
    • 预计算。例如,产品单价*购买数量=金额。
    • 基于某些规则重新排序以提高查询性能。
    • 合并多个数据源的数据并去重。
    • 预聚合。例如,汇总销售数据。
    • 行列转置。
    • 将一列转为多列。例如,某列存储的数据是以逗号作为分隔符的字符串,将其分割成多列的单个值。
    • 合并重复列。
    • 预连接。例如,查询多个关联表的数据。
    • 数据验证。针对验证的结果采取不同的处理,通过验证的数据交给装载步骤,验证失败的数据或直接丢弃,或记录下来做进一步检查。
  • 数据装载

    • 实现方式
      • 先删除再插入
      • replace into
      • merge into

1.3、 数据仓库的需求

基本需求

  • 安全性
  • 可访问性
  • 自动化

数据需求

  • 准确性(数据从哪里来?何时抽取?怎么转换)
  • 时效性
  • 历史可追溯性

数据转换的目的:统一数据类型、处理拼写错误、消除数据歧义、解析为标准格式等

1.4、 data vault

DataVault模型有中心表(Hub)、链接表(Link)、附属表(Satellite)三个主要组成部分。中心表记录业务主键,链接表记录业务关系,附属表记录业务描述。

二、数据转换与装载

2.1、数据清洗

数据清洗是对数据进行重新审查和校验的过程,目的在于删除重复信息、纠正存在的错误,提供一致性。

1、脏数据

  • 残缺数据
  • 错误数据
  • 重复数据
  • 差异数据

2、数据清洗

  • 预处理
  • 标准化处理。地名、产品名等格式化
  • 查重
  • 出错处理和纠正

3、渐变维

更新数据的方式:

  • SCD1:直接覆盖已经存在的值,不维护记录的历史。SCD1一般用于修改错误数据
  • SCD2:在源数据发生变化时,給维度记录建立一个新的“版本”记录,从而维护维度历史。SCD2不删除、修改已存在的数据。

三、维度表

四、事实表

事实表中的数字度量值可划分为可加、半可加、不可加三类

三种不同类型的事实表:

  • 事物事实表:以每个事物或事件为单位。例如订单表。
  • 周期快照事实表:这种事实表不保存全部的数据, 只保存固定时间间隔的数据。例如每天或每月的销售额,或每月的账户余额等。
  • 累积快照事实表:累积快照用于跟踪事实表的变化。例如,数据仓库可能需要累积或存储销售订单从下订单的时间开始,到订单中的商品被打包、运输和到达的各阶段的时间点数据来跟踪订单的生命周期进展情况。当这个过程进行时,随着以上各种时间的出现,事实表里的记录也要不断更新。

五、其他

  • 通过存储格式减少存储空间。:Snappy(有效平衡压缩率和解压缩速度)、Gzip(最高压缩率的归档数据压缩)

你可能感兴趣的:(数据仓库理论)