数据仓库原理笔记

本文介绍了数据仓库的诞生背景,强调了数据仓库作为面向主题的数据集成平台,与数据库的区别,以及技术实现中MPP和分布式架构的优缺点。涵盖了从传统数据库(如关系型MPP集群)到大数据数据仓库(如Hadoop和Hive)的演变,以及ETL过程、数据模型(如维度模型和宽表模型)和任务调度在数据仓库中的应用。
摘要由CSDN通过智能技术生成

1.1诞生背景
数据仓库诞生的原因
历史数据积存 :使用频率低,堆积在业务中,导致性能下降
企业数据分析需要:各个部门独立做数据抽取系统,导致数据不一致
1.2数据仓库
面向主题:为数据分析提供服务,根据主题将原始数据集合在一起
集成:原始数据来源于不同数据源,整合最终数据,经抽取、清洗、转换的过程
非易失:保存的数据是一系列历史快照,不允许被修改,只允许通过工具进行查询、分析
时变性:数仓会定期接收、集成新的数据,从而反映处数据的最新变化
- 区别:
数据库:面向事务设计,属于OLTP(在线事务处理)系统,主要操作是随机读写;在设计时尽量避免冗余,常采用符合范式来设计
数据仓库:面向主题设计,属于OLAP(在线分析处理)系统,主要操作是批量读写;关注数据整合,以及分析、处理性能;会有意引入冗余,采用反范式方式设计

1.3 技术实现
- 传统数据库 由关系型数据库组成MPP(大规模并行处理)集群
!! 问题: 扩展有限 热点问题
大数据数据仓库:天然的扩展性,完成海量数据的存放
将SQL转换为大数据计算引擎任务,完成数据分析
!!!SQL支持率、事务支持

  • MPP架构: 一致性、可用性、分区容错性 CAP
    优点:运算方式精细、延迟低、吞吐低 ,适合中等规模的结构化数据处理
    缺点:存储位置不透明,通过hash 确定数据所在的物理节点、单个节点瓶颈会成为整个系统短板,容错性差,分布式事务的实现扩展性降低。

  • 分布式架构: Hadoop架构
    常见产品:
    传统数据仓库:
    Oracle RAC
    BD2
    Teradata:
    Greenplum:
    大数据数据仓库:
    hive:
    spark sql
    hbase
    impala 数据查询引擎 查询接口
    HAWQ:green plum移植产品
    TIDB
    架构图:
    架构图

  • ETL
    数据抽取extraction jdbc ogg cdc
    结构化数据 JDBC、数据库日志;非结构和半结构化 监听文件变动
    抽取方式:
    全量同步全部数据进行抽取 用于初始化数据装载
    增量同步检测数据的变动,抽取发生变动的数据,用于数据更新
    转换transformation 清洗和转化
    常见工具
    结构化:sqoop1.x kettle datastage informatica Kafka
    非|半:flume logstash

  • ODS 操作数据层
    数据与原业务数据保持一致,增加字段进行数据管理,存储的历史数据是只读的,提供业务系统查询使用。
    全量导入:第一次导入。
    增量导入:新增、更改的数据,建议使用外连接或全覆盖的方式。

  • DWD 数据明细层
    对ODS的数据进行清洗、标准化、维度退化(时间、分类、地域),数据仍满足3NF模型,为分析运算做准备。

  • DWS 数据汇总层
    对DWD的数据按照分析主题进行计算汇总,存放便于分析的宽表,存储类型并非3NF,注重数据聚合,复杂查询、处理性能更优的数仓模型,如维度模型。

  • ADS 数据应用层
    也称数据集市,存储数据分析结果,为不同业务场景提供接口,减轻数据仓库的负担,数据仓库擅长数据分析,直接开放业务查询接口,会加重其负担。
    OLTP 系统建模方法
    主要操作随机读写,为了保证数据一致性、减少冗余,常使用关系模型,使用三范式规则来减少冗余。
    OLAP 在线联机分析
    主要操作是复杂分析查询,关注数据整合,以及分析、处理性能,存储方式不同,分为:

  • ROLAP 关系型OLAP 使用关系模型构建,存储系统一般为RDBMS
    典型的数据仓库建模方法有ER模型、维度模型(常)、data value、 anchor
    维度模型: 星型 维度只有一层
    雪花:多层,比较接近三范式设计,较为灵活
    星座:基于多个事实表,之间共享一些维度表,
    宽表模型:是维度模型的衍生,适合join性能不佳的数据仓库产品,将维度冗余到事实表中,形成宽表,减少join操作。

  • MOLAP 多维型OLAP 预先聚合计算,使用多维数组的形式(cube)保存数据结果,加快查询分析时间 常见的kylin druid

  • HOLAP 混合架构的OLAP 两者的集成;如低层是关系型的,高层是多维矩阵型的;查询效率高于ROLAP,低于MOLAP。

上卷 、下钻、旋转。
表的分类
事实表:现实存在的业务对象。
维度表:码表,对事实表中的数据进行统计、聚合运算。
事务事实表:一旦产生不会再变化,如交易流水、操作日志。
周期快照事实表:周期型如年、季度累计。
累计快照事实表:记录不确定周期的度量统计,只有一条记录,如订单状态表。:日期分区表,冷数据多,适用数据量少的。删掉冷数据或归档。以业务实体的结束时间分区,设计一个表存放未结束的。
拉链表:记录每条信息的生命周期,用于保留数据的所有历史状态。
任务调度
解决任务单元间的依赖关系,自动化完成任务的定时执行
常见的任务类型:shell java mapreduce sql
常见的调度工具:azkaban oozie

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值