美文网首页
《数据仓库工具箱》读书笔记(一):维度建模初步

《数据仓库工具箱》读书笔记(一):维度建模初步

作者: kaiker | 来源:发表于2020-09-20 19:42 被阅读0次

    第一章 数据仓库、商业智能及维度建模初步

    一、数据仓库与商业智能的目标

    1、方便地保存数据
    2、数据一致性
    3、适应变化
    4、及时展现数据
    5、信息安全
    6、数据权威
    7、支撑业务

    二、数仓管理者的职责

    1、理解业务 理解用户
    2、为用户提供高质量、相关的、可访问的信息
    3、维护数仓/分析环境

    三、维度建模基础知识

    1、维度模型和3NF模型包含的数据是一样的,知识维度模型存储的数据更易理解,查询性能更高,包装得更灵活
    事实表:
    2、维度模型中的事实表来自对业务过程性能的度量
    3、事实表中每行对应一个度量事件
    4、每行中的数据是一个特定级别的细节数据,称为粒度
    5、事实表通常分为事务、累计快照、周期快照
    6、事实表主键通常成为组合键
    维度表:
    7、维度表包含与业务过程度量事件有关的文本环境
    8、数仓分析环境取决于维度属性的质量和深度

    四、各种数仓架构

    1、Kimball

    Kimball
    操作型源系统,就是数据的来源,数据记录的最基础的形式
    ETL过程主要是对维度与事实进行划分,清洗数据,关注维度表的处理(代理键分配等)
    前端区将获取到元数据、报表、分析应用等内容,展示时也需要兼顾效率
    2、独立数据集市
    独立数据集市
    这种结构明显难以保证一致性,但开发起来会比较快
    3、Inmon
    Inmon
    原子数据保存在满足3NF的数据库中,这种规范化的、原子数据的仓库被称为企业数据仓库(Enterprise Data Warehouse)
    它与Kimball的区别包括数据粒度的不同,可能有些数据不是原子级别的,它也不围绕业务展开
    4、Kimball+Inmon
    Kimball+Inmon
    EDW保留三范式规则,但原子数据是不聚合的,作为展现区的数据来源

    第二章 Kimball维度建模技术概述

    一、基本概念

    1、收集业务需求与数据实现
    2、维度涉及过程:选择业务过程、声明粒度、确认维度、确认事实
    3、业务过程是组织完成的操作型活动(订单、注册)
    4、粒度:事务表里的每一行表示的是什么
    5、维度:用于描述环境
    6、事实:对业务过程进行度量
    7、灵活扩展:事实粒度一致时可直接创建列,通过新的维度列关联维度至事实,可以在维度表上简历新列添加属性,可以使事实表粒度更原子化

    二、事实表技术基础

    1、事实表行对应一个度量事件
    2、可加、半可加是针对维度而言的,部分维度可加的是半可加。
    3、事实表中的外键不能存在空值
    4、最好保证事实度量是一致的
    5、事务事实表:一行对应空间或时间上某点的度量事件,比如订单表、日志表
    6、周期快照事实表:每行汇总了发生在某一周期的多个度量事件,比如一个用户在一天里的点击、退出次数
    7、累计快照事实表:每行汇总了发生在过程开始和结束之间可预测步骤内的度量事件,比如订单有提单、支付、成单、配送、评价的可作为度量的过程
    8、无事实事务表:可能存在某些事件仅仅记录多维实体,没有数字化的事实
    9、聚集事实表:对原子粒度事实表数据进行上卷
    感觉多数还是事务和聚集事实表

    三、维度表技术基础

    1、维度表应当具有单一主键列,它是扁平非规范表
    2、维度表需要主键,可以为维度表生成无语义的整数型主键,可以借助UDF来进行生成
    3、操作型系统中自然键不能满足需求时可以采用持久性超自然键
    4、将常用维度退化到事实表中,清楚地表明没有关联的维度
    5、同一维度可能存在不同的层次,一级城市,二级城市
    6、可以建立将不同维度合并到一起的杂项维度,而不要为每个标识或属性定义不同维度
    7、雪花维度:低粒度属性作为辅助表通过属性键连接到基本维度,当这一过程中包含多重维度表层次时,建立的多级层次结构被称为雪花模式
    8、支架维度:被引用的辅助维度成为支架维度,比如银行账户维度可以引用开户日期维度

    四、一致性维度

    当不同的维度表的属性具有相同列名和领域内容时,称维度表具有一致性

    五、缓慢变化维

    1、原样保留
    2、重写
    3、增加行
    4、增加新属性(列)

    六、处理维度层次关系

    1、固定深度位置层次,能够提佛那个可预测的、快速的查询性能
    2、其他还可能存在可变深度层次、层次桥接、路径字符属性可变深度层次,但这些最好向固定深度层次进行统一

    七、高级事实表技术

    1、蜈蚣事实表:存在多层次维度外键
    2、事实表也可分配代理键
    3、多遍SQL以避免事实表间的连接

    八、高级维度表技术

    1、聚集事实也可作为维度进行处理(例如金额大于多少的用户)
    2、步骤维度:在日志表里可以为行为顺序进行编号,探究行为发生的过程,这个维度叫步骤维度

    相关文章

      网友评论

          本文标题:《数据仓库工具箱》读书笔记(一):维度建模初步

          本文链接:https://www.haomeiwen.com/subject/rlsdektx.html