美文网首页Hadoop大数据
一.数据仓库、BI以及维度建模

一.数据仓库、BI以及维度建模

作者: 阿猫阿狗Hakuna | 来源:发表于2019-08-08 11:12 被阅读15次

    信息总是用作两个目的:操作型记录的保存和分析型记录的制定。
    简单来说,操作型系统保存数据,DW/BI系统使用数据。

    对于操作型系统,其用户确保组织能正常运转,对其的优化目的是使其能够更快的处理事务。
    对于DW/BI系统,其用户研究分析企业运转,并对其性能进行评估,对其进行优化的目的是高性能地完成用户的查询。

    一.维度建模

    维度模型通常应用于关系数据库管理系统上,但不要求其必须满足第三范式(3NF)。
    规范化的3NF模型主要应用于操作型过程中,因为对事务的更新与插入只涉及数据库的单一位置。但是对于BI查询来说,规范化模型太复杂,难以满足对数据的高性能检索需求。维度建模就是用来解决模式过分复杂的问题的。

    1.星型模式与OLAP多维数据库

    关系型数据库中实现的维度模型称为星型模式。
    多维数据库环境中实现的维度模型为OLAP。


    image.png

    OLAP数据库建立并管理了性能聚集和预计算汇总表,采用这些优化方法,OLAP可以实现高性能查询。

    星型模型有两个关键部件:用于度量的事实表,用于描述环境的维度表。

    2.用于度量的事实表

    事实表示某个业务度量,比如产品的销售数量,或销售额等。
    事实表中的每行对应一个度量事件,每行中的数据是一个特定级别的细节数据,称为粒度。例如,销售事务中用一行来表示每个卖出的产品。

    物理世界中的每一个度量事件与对应的事实表行具有一对一的关系,这一思想是维度建模的基本原则,其他工作都是以此为基础的。

    最常用的事实是数值类型和可加类型事实。
    事实通常以连续值描述,这样可以用来区分是事实还是维度属性。

    不要在事实表中存储冗余的文本信息,应将其放入维度表中。

    事实表的粒度可以分为三类:事务、周期性快照和累积快照。

    事实表通常具有两个或更多外键与维度表的主键相连。
    事实表通常有包含外键集合的主键。
    通常几个维度一起唯一标识每个事务表行。

    3.用于描述环境的维度表

    维度表包含与业务度量事件有关的文本环境,“谁、什么、哪里、何时”等信息。
    与事实表比较,维度表包含较少的行,且由单一主键定义,用于与事实表实现连接操作。

    维度属性可作为查询约束、分组、报表标识的主要来源。因此,在DW/BI系统中起着至关重要的作用。

    多数情况下,数仓的好坏直接依赖于维度属性的设置,良好的维度属性带来的回报是健壮的分片-分块分析能力。

    4.星型模型中维度与事实的连接

    维度模型表示每个业务过程包含事实表,以及围绕着事实表的多个维度表,这包含事件发生时实际存在的文本环境。


    image.png

    粒度最小的数据或原子数据具有最多的维度,尚未聚集的原子数据是最具有可表达性的数据。
    在一个报表应用中,维度属性支持报表过滤和标识,事实表支持报表中的数字值。

    二.Kimball的标准DW/BI架构

    DW/BI分为4个不同的组成部分:操作型源系统、ETL系统、数据展现和商业智能应用。


    image.png

    1.ETL系统

    建立规范化结构支持ETL过程是可以采用的方法。然而,这不是最终目标,不能在用户查询中使用规范化结构,因为其难以同时满足可理解性和性能两个目标。

    2.展现区

    DW/BI系统的展现区中的数据必须是维度化的、原子的、以业务过程为中心的。坚持使用总线结构的企业数仓,数据不应按照个别部门需要的数据来构建。

    三.其他DW/BI架构

    1.独立数据集市架构

    采用这种架构,分析型数据以部门为基础来部署,不需要考虑企业级别的信息共享和集成。


    image.png

    2.辐射状企业信息工厂Inmon架构

    Corporate Information Factory,CIF。
    在这种架构下,数据从操作性数据源获取,在ETL系统中进行处理,称为数据获取。从这一过程中获得的原子数据保存在满足第三范式的数据库中,这种规范化的、原子数据的仓库称为CIF架构下的EDW(企业数据仓库,Enterprise Data Warehouse)。
    然后业务用户根据数据细节程度和数据可用性要求访问EDW仓库。


    image.png

    四.维度建模的误区

    误区1:维度模型仅包含汇总数据

    我们不可能预测用户提出的所有问题,所以必须向业务用户提供最细粒度的数据。

    误区2:维度模型是部门级而不是企业级的

    误区3:维度模型是不可扩展的

    误区4:维度模型仅用于预测

    误区5:维度模型不能被集成

    相关文章

      网友评论

        本文标题:一.数据仓库、BI以及维度建模

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