数据仓库简单概述

数据仓库概述入门

数据仓库(Data Warehouse),简写为DW或者DWH。为了企业有更好的分析性报告及决策支持而建立。

数据仓库的特点

  • 数据仓库的数据是面向对象的
  • 数据仓库的数据是集成的
  • 数据仓库的数据是不可更新的
  • 数据仓库的数据是随时间不断变化的

OLTP & OLAP对比

OLTP(联机事务处理),也可以称为面向交易的处理系统,主要针对具体业务在数据库联机的日常操作,通常对少数记录进行查询、修改。用户较为关心操作的响应事件、数据的安全性、完整性和并发支持的用户数等问题。传统的数据库系统作为数据管理的主要手段。

OLAP(联机分析处理),一般针对某些主题的历史数据进行分析,支持管理决策。

  • 对比如下:
OLTP(操作型处理) OLAP(分析型处理)
细节的 综合的或提炼的
实体-关系(E.R)模型 星状或雪花模型
存取瞬间数据 存储历史数据,不包含最近的数据
可更新的 只读,只追加
一次操作一个单元 一次操作一个集合
性能要求高,响应时间短 性能要求宽松
面向事务 面向分析
一次操作数据量小 一次操作数据量大
支持日常操作 支持决策需求
数据量小 数据量大
客户订单、库存水平和银行账户查询等 客户收益分析、市场细分等

数仓架构分层

在这里插入图片描述

  • OSD层:为了简化后续数据加工处理的工作,是接口数据的临时存储区域。通常包括两类:

    1)用于存储当前需要加载的数据

    2)用于存储处理完后的历史数据

  • DW层:数仓层的数据应该是一致的、准确的、干净的数据,即对源系统数据进行了清洗后的数据。

  • DM层:数据集市层是面向主题来组织数据的,通常是星形和雪花结构的数据。

  • APP层:应用层是为了满足具体的分析需求而构建的数据,也是星形和雪花结构的数据。

为什么要对数据仓库分层?

  • 用空间换时间,通过大量的预处理来提升应用系统的用户体验(效率),因此数据仓库会存在大量冗余的数据;
  • 假设不分层,如果源系统的业务规则发送变化会影响整个数据清洗过程,工作量巨大;
  • 通过数据分层管理可以简化数据清洗的过程,把原本复杂的工作拆分成多个小工作

元数据(MetaData)

1、元数据概述

数据仓库的元数据是关于数据仓库中数据的数据。它的作用类似于数据库管理系统的数据字典,保存了逻辑数据结构、文件、地址和索引等信息。广义上讲,在数据仓库中,元数据描述了数据仓库内数据的结构和建立方法的数据。

  • 构建数据仓库的主要步骤之一是ETL。这时元数据将发挥重要的作用,它定义了源数据系统到数据仓库的映射、数据转换的规则、数据仓库的逻辑结构、数据更新的规则、数据导入历史记录以及装载周期等相关内容。数据抽取和转换的专家以及数据仓库管理员正是通过元数据高效地构建数据仓库。

  • 用户在使用数据仓库时,通过元数据访问数据,明确数据项的含义以及定制报表。

  • 数据仓库的规模及其复杂性离不开正确的元数据管理,包括增加或移除外部数据源,改变数据清洗方法,控制出错的查询以及安排备份等。

    元数据可分为技术元数据和业务元数据。技术元数据为开发和管理数据仓库的IT 人员使用,它描述了与数据仓库开发、管理和维护相关的数据,包括数据源信息、数据转换描述、数据仓库模型、数据清洗与更新规则、数据映射和访问权限等。而业务元数据为管理层和业务分析人员服务,从业务角度描述数据,包括商务术语、数据仓库中有什么数据、数据的位置和数据的可用性等,帮助业务人员更好地理解数据仓库中哪些数据是可用的以及如何使用。

    由上可见,元数据不仅定义了数据仓库中数据的模式、来源、抽取和转换规则等,而且是整个数据仓库系统运行的基础,元数据把数据仓库系统中各个松散的组件联系起来,组成了一个有机的整体.

在这里插入图片描述

2、元数据的存储方式
  • 以数据集为基础,每一个数据集有对应的元数据文件。

    优点:1)调用数据时相对应的元数据也作为一个独立文件被传输

    ​ 2)相对数据库有较强的独立性

    ​ 3)在对元数据进行检索时可以利用数据库功能实现

    缺点:1)如果每个数据集对应一个元数据文档,如果数据量大的话会存在大量元数据文件,管理不便。

  • 以数据库为基础,即元数据库。

    优点:1)元数据库中只有一个元数据文件,管理方便

    ​ 2)添加或者删除数据,只要在元数据文件中添加或删除响应的记录即可。

    元数据库用于存储元数据,因此元数据库最好用主流的数据库管理系统。

3、元数据的作用
  • 描述哪些数据在数据仓库中,方便对数据仓库内容的定位
  • 定义数据进入数据仓库的方式,作为数据汇总、映射和清洗的指南
  • 记录并检测数据一致性的要求和执行情况
  • 评估数据质量

星形结构&雪花结构

星形结构是一种非正规化的结构,多维数据集得每一个维度都直接与事实表相连接,不存在渐变维度,所以数据有一定的冗余。

雪花结构是对星形模型的扩展,使原有的各维度表可能被扩展为小的事实表,通过最大限度地减少数据存储量以及联合较小的维彪来改善查询性能,雪花结构去除了数据冗余。

星形结构因为数据的冗余,使得很多统计查询不需要做外部的连接,一般情况下效率要比雪花结构要高。因此,在冗余可以接受的前提下,实际运用中使用星形结构更多,效率更高。

  • 对比如下:
星形结构 雪花结构
数据优化 反规范化数据 规范数据
业务模型 只拥有主键 主键-外键的关系来代表
性能 连接少,效率高 连接多,效率较低
ETL 设计简单,高度并行化 设计复杂,不能并行化

雪花结构适合做维度分析。

星形结构适合做指标分析。

猜你喜欢

转载自blog.csdn.net/aubekpan/article/details/88881412
今日推荐