您的当前位置:首页正文

A. 数据仓库 --- 概述

2024-11-18 来源:个人技术集锦

A. 数据仓库 — 概述

概述

  • 信息
    • 操作型系统:以事务为主。以可预测的方式完成同样的操作型任务。
    • 分析型系统:以评估效果为主。
  • 数仓的需求
    • DW/BI系统要能方便地存取信息
    • DW/BI系统必须以一致的形式展现信息
    • DW/BI系统必须能够适应变化
    • DW/BI系统必须能够及时展现信息
    • DW/BI系统必须成为保护信息财富的安全壁垒
    • DW/BI系统必须成为提高决策制定能力的权威和可信的基础
    • DW/BI系统成功的标志是业务群体接收DW/BI系统

数据仓库

  • 四个步骤
    • 业务建模,生成业务模型,主要解决业务层面的分解和程序化。
      • 划分整个单位的业务,一般按照业务部门的划分,进行各个部分之间业务工作的界定,理清各业务部门之间的关系。
      • 深入了解各个业务部门的内具体业务流程并将其程序化。
      • 提出修改和改进业务部门工作流程的方法并程序化。
      • 数据建模的范围界定,整个数据仓库项目的目标和阶段划分。
    • 领域建模,生成领域模型,主要是对业务模型进行抽象处理,生成领域概念模型。
      • 抽取关键业务概念,并将之抽象化。
      • 将业务概念分组,按照业务主线聚合类似的分组概念。
      • 细化分组概念,理清分组概念内的业务流程并抽象化。
      • 理清分组概念之间的关联,形成完整的领域概念模型。
    • 逻辑建模,生成逻辑模型,主要是将领域模型的概念实体以及实体之间的关系进行数据库层次的逻辑化。
      • 业务概念实体化,并考虑其具体的属性
      • 事件实体化,并考虑其属性内容
      • 说明实体化,并考虑其属性内容
    • 物理建模,生成物理模型,主要解决,逻辑模型针对不同关系型数据库的物理化以及性能等一些具体的技术问题。
      • 针对特定物理化平台,做出相应的技术调整
      • 针对模型的性能考虑,对特定平台作出相应的调整
      • 针对管理的需要,结合特定的平台,做出相应的调整
      • 生成最后的执行脚本,并完善之。
  • 发展历程
    • 简单报表阶段:这个阶段,系统的主要目标是解决一些日常的工作中业务人员需要的报表,以及生成一些简单的能够帮助领导进行决策所需要的汇总数据。这个阶段的大部分表现形式为数据库和前端报表工具。
    • 数据集市阶段:这个阶段,主要是根据某个业务部门的需要,进行一定的数据的采集,整理,按照业务人员的需要,进行多维报表的展现,能够提供对特定业务指导的数据,并且能够提供特定的领导决策数据。
    • 数据仓库阶段:这个阶段,主要是按照一定的数据模型,对整个企业的数据进行采集,整理,并且能够按照各个业务部门的需要,提供跨部门的,完全一致的业务报表数据,能够通过数据仓库生成对对业务具有指导性的数据,同时,为领导决策提供全面的数据支持。

核心问题

  • 进行全面的业务梳理,改进业务流程。在业务模型建设的阶段,能够帮助我们的企业或者是管理机关对本单位的业务进行全面的梳理。通过业务模型的建设,我们应该能够全面了解该单位的业务架构图和整个业务的运行情况,能够将业务按照特定的规律进行分门别类和程序化,同时,帮助我们进一步的改进业务的流程,提高业务效率,指导我们的业务部门的生产。
  • 建立全方位的数据视角,消灭信息孤岛和数据差异。通过数据仓库的模型建设,能够为企业提供一个整体的数据视角,不再是各个部门只是关注自己的数据,而且通过模型的建设,勾勒出了部门之间内在的联系,帮助消灭各个部门之间的信息孤岛的问题,更为重要的是,通过数据模型的建设,能够保证整个企业的数据的一致性,各个部门之间数据的差异将会得到有效解决。
  • 解决业务的变动和数据仓库的灵活性。通过数据模型的建设,能够很好的分离出底层技术的实现和上层业务的展现。当上层业务发生变化时,通过数据模型,底层的技术实现可以非常轻松的完成业务的变动,从而达到整个数据仓库系统的灵活性。
  • 帮助数据仓库系统本身的建设。通过数据仓库的模型建设,开发人员和业务人员能够很容易的达成系统建设范围的界定,以及长期目标的规划,从而能够使整个项目组明确当前的任务,加快整个系统建设的速度。

范式建模法(Third Normal Form,3NF)

  • 一个符合第三范式的关系必须具有以下三个条件 :
    • 每个属性值唯一,不具有多义性 ;
    • 每个非主属性必须完全依赖于整个主键,而非主键的一部分 ;
    • 每个非主属性不能依赖于其他关系中的属性,因为这样的话,这种属性应该归到其他关系中去。

维度建模

  • 事实表:事实表其实质就是通过各种维度和一些指标值得组合来确定一个事实的,比如通过时间维度,地域组织维度,指标值可以去确定在某时某地的一些指标值怎么样的事实。事实表的每一条数据都是几条维度表的数据和指标值交汇而得到的。
    • 分类
      • 事务事实表:销售单数据
      • 周期快照事实表:日库存数据
      • 累计快照事实表:发货进度数据
    • 表设计
      • 指标:有数值化和可加性的度量值,如销售额、证书量
      • 外键:事实数据特征属性值,关联维度表
      • 主键:来源业务系统,考虑数据冗余,可不设逐渐
  • 维度表:维度表可以看成是用户用来分析一个事实的窗口,它里面的数据应该是对事实的各个方面描述,比如时间维度表,它里面的数据就是一些日,周,月,季,年,日期等数据,维度表只能是事实表的一个分析角度。可作为公共维度表
    • 三种模型
      • 星形模型
      • 雪花模型
      • 多维模型
    • 维度的类型
      • 缓慢变化维
      • 快速变化维
      • 大维和迷你维
      • 退化维
    • 维度表
      • 冗余:包含的列应该尽可能全面,记录属性变化的键
      • 特征:数据进行分析时所用的量,可有多个维度,不超过15个
      • 主键:做为事实表的外键,整型值,节省空间,有层次结构含义
  • 实体表:实体表就是一个实际对象的表,实体表它放的数据一定是一条条客观存在的事物数据,比如说设备 ,它就是客观存在的,所以可以将其设计一个实体表。

实体建模法

  • 实体建模法并不是数据仓库建模中常见的一个方法,它来源于哲学的一个流派。从哲学的意义上说,客观世界应该是可以细分的,客观世界应该可以分成由一个个实体,以及实体与实体之间的关系组成。
  • 实体建模法也有着自己先天的缺陷,由于实体说明法只是一种抽象客观世界的方法,因此,注定了该建模方法只能局限在业务建模和领域概念建模阶段。因此,到了逻辑建模阶段和物理建模阶段,则是范式建模和维度建模发挥长处的阶段。
Top