2020-商务智能-Exam02-复习提纲

Exam02-复习提纲

1. 简答题

1.1. 什么是数据仓库?其四大特色?

  1. 数据仓库就是一个面向主题的、集成的、非易失(稳定的)、随时间不断变化的数据集合,用于支持经营管理过程中决策制定。
  2. 数据仓库四大特色:
    1. 面向主题:指数据仓库内的信息是按主题进行组织的,为按主题进行决策的过程提供信息。(数据仓库中无法做到面向应用:没有办法模拟出所有的决策)
    2. 集成:数据仓库中的数据是为分析服务的,而分析需要多种广泛的不同数据源以便进行比较、鉴别,因此数据仓库中的数据必须从多个数据源中获取,这些数据源包括多种类型数据库、文件系统以及Internet网上数据等,它们通过数据集成而形成数据仓库中的数据
    3. 非易失(稳定):数据仓库中的数据是经过抽取而形成的分析型数据,不具有原始性,主要供企业决策分析之用,执行的主要是"查询"操作,一般情况下不执行"更新"操作。同时,一个稳定的数据环境也有利于数据分析操作和决策的制订
    4. 随时间不断变化:企业不仅仅关心某一个时间节点的情况。数据仓库的数据通常带有时间属性,同时必须以一定时间段为单位进行统一更新。

1.2. 为什么在传统的以数据库为核心的事务处理环境中不适宜建立DSS等分析型应用?

  1. 事务处理和分析处理的性能特性不同
    1. 用户每次操作处理的时间短,存取数据量小,但操作频率高,并发程度大。
    2. 每次分析可能需要连续运行很长的时间,存取数据量大,但很少做这样的分析处理,也没有并发执⾏的要求。
    3. 资源抢占
  2. 数据集成问题:
    1. 事务处理一般只需要与本部门业务有关的当前细节数据,而对整个企业范围内的集成应用考虑很少,可能来自多种不同的数据源
    2. DSS需要集成的数据,包括整个企业内部各部门的相关数据,以及企业外部、竞争对手等处的相关数据(这部分也应该是集成数据的一部分)
    3. 对于需要集成数据的DSS应用来说,在应用程序中对事务处理环境中的这些纷繁复杂的数据进行集成,将带来下述问题: 大大加重程序员的负担、重复计算导致极低的分析处理效果
  3. 数据的动态集成问题:集成数据必须以一定的周期进行刷新(采用动态集成策略),但传统的事务处理环境并不具备动态集成的能力
  4. 历史数据问题:事务处理一般只需要当前数据,分析处理更看重历史数据
  5. 数据的综合问题:
    1. 事务处理需要的是当前的细节性操作数据,而分析处理需要的往往是大量的总结性分析型数据,而非数据库中的细节型数据。
    2. 在分析前往往需要读细节数据进行不同程度的综合,传统的事务处理系统不具备这种综合能力
  6. 数据的访问问题:
    1. 事务处理对于需要修改的数据必须实时"更新"数据库
    2. 分析处理不需要实时的"更新"操作,但需要定时"刷新"

1.3. 什么是数据仓库中的粒度?为何要在数据仓库中采用多重粒度?试举例说明

  1. 定义:粒度是对数据仓库中的数据的综合程度的一个度量。既影响数据仓库中数据量的多少,也影响数据仓库能够回答询问的种类
粒度小 细节程度高 综合程度低 回答查询种类多 查询效率低
粒度大 细节程度低 综合程度高 回答查询种类少 查询效率高
  1. 数据仓库中采用多重粒度:数据分开、满足不同查询、分析需求不同粒度互补
  1. 对于上面的左图,如果这样子设计的话,高粒度,低细节的数据无法应对过于细节的问题,
  2. 对于上面的右图,如果这样子设计的话,无论是高粒度还会低粒度的数据都可以应对。
  3. 应对不同级别的粒度要求
    1. 大粒度数据,使用快速存储设备,支持大量数据访问以提高性能。
    2. 小粒度数据:使用低速存储设备,使用频率不会太高,满足细节查询。
  4. 例子(或见图)
    1. 库存周期快照:定期生成每种商品的库存水平
    2. 库存事务:记录库存水平的主要因素
    3. 库存累积快照:记录每件商品的分发历史,直到离开仓库为止。

1.4. 数据仓库的物理模型设计优化技术有哪些?对这些技术进行简要的说明

  1. 合并表:在常见的一些分析处理操作中,可能需要执行多表连接操作。为了节省I/O开销,可以把这些表中的记录混合存放在一起,以减低表的连接操作的代价
  2. 建立数据序列:根据周期运行的数据分析应用访问数据先后顺序,维护一个冗余的序列,提前把需要的数据按需准备好,在需要访问的时候就不再需要访问不同的表格中的不同元组,从而提升效率。
  3. 引入冗余:在面向某个主题的分析过程中,通常需要访问不同表中的多个属性,而每个属性又可能参与多个不同主题的分析过程。因此可以通过修改关系模式把某些属性复制到多个不同的主题表中去,从而减少一次分析过程需要访问的表的数量
  4. 表的物理分割:根据表中每个属性数据的访问频率和稳定性程度对表的存储结构进行分割
    1. 对于访问频率较高的属性,可以单独考虑其物理存储组织,以便选择合适的索引策略和特定的物理组织方式。
    2. 对于需要频繁更新的属性,也可以单独组织其物理存储,以免因数据更新而带来的空间重组、重构等工作。
  5. 生成导出数据:在原始、细节数据的基础上进行一些统计和计算,生成导出数据,并保存在数据仓库中。
    1. 优点:
      1. 避免在分析过程中执行过多的统计或计算操作,减少输入/出的次数,提高分析操作的性能
      2. 避免了不同用户进行重复统计操作可能产生的偏差
  6. 建立广义索引:建立用于记录数据仓库中数据与"最"有关的统计结果的索引
    1. 这样的广义索引的数据量是非常小的,可以在每次进行数据仓库数据加载工作时生成或刷新这样的广义索引。用户可以从已经建立的广义索引里直接获取这些统计信息,而不必对整个数据仓库进行扫描。

1.5. 数据仓库中的历史完整性/一致性?为保持历史完整性/一致性,采用哪些方式?试举例说明

  1. 历史完整性:部分维度属性是会随时间而发生变化的,若只是将这些变化的维度属性值作简单的修正,即在维度表中只保留该维度属性的当前值,这会直接影响到对事实表中该维度属性所对应的事实数据元组的访问,特别是无法根据维度属性值的变化情况来进行分析处理。历史完整性是保证维度中的历史数据在改变之后不丢失。
  2. 方法:针对渐变维度(商品表)
    1. 改写属性值:容易实现,但不能对旧属性值的任何历史数据进行维护(无法保证历史一致性)
    2. 添加维度行:准确跟踪渐变属性的主要方法,也是跟踪历史变化的最常用的方式;引入新的行用来反映新的属性值;增加了维度行的膨胀;可以引入生效或截止日期
    3. 添加维度列:使用维度列保存旧的属性值;不适合跟踪维度属性大量变化
  3. 方法:针对快变维度
    1. 微型维度
      1. 将分析频率高或变化频率大的属性拆成为独立的微型维度,裂解后我们使用FK来连接上下文,如果选择类型2或类型6来处理,都需要来复制某些元组,而微型维度使得我们需要复制存储的元组大小变小。
      2. 例如:客户维度中的年龄,性别,收入水平等属性,它们的每一种取值组合构成微型维度表中的一行
    2. 预设波段
      1. 对于诸如收入与购买总额等不断变化的属性,应该被转换成呈波段分布的范围,即进行离散化处理,使其只能在数目相当小的离散值中取值,以减少维度表中的数据量
      2. 将里面的值变化为区间,使用区间标签来作为实际的值

1.6. 简述数据仓库刷新的方法,并对每一种方法进行简单的说明

  1. 时间戳:
    1. 若数据库中的记录有时间属性,则可根据OLTP数据库中的数据有无更新,以及在执行更新操作时数据的修改时间标志来实现数据仓库中数据的动态刷新。
    2. 缺点:大多数数据库系统中的数据并不含有时间属性。
  2. DELTA文件
    1. 有些OLTP数据库的应用程序在工作过程中会形成一些DELTA文件以记录该应用所作的数据修改操作,可根据该DELTA文件进行数据刷新。一般是底层数据库不太稳定,我们会使用。
    2. 优点:采用此方法可避免对整个数据库的对比扫描,具有较高的刷新效率。
    3. 缺点:这样的应用程序并不普遍,修改现有的应用程序的工作量又太大。
  3. 建立映象文件
    1. 上一次数据刷新后对数据库作一次快照
    2. 本次刷新之前再对数据库作一次快照
    3. 比较两个快照的不同,从而确定数据仓库的数据刷新操作。
    4. 优点:对于数据库和操作型应用没有特别要求
    5. 缺点:需要占用大量的系统资源,可能较大地影响原有数据库系统的性能
  4. 日志文件
    1. 一般OLTP数据库都有日志文件,可根据OLTP数据库的日志信息来实现数据仓库的数据刷新。
    2. 优点:日志是OLTP数据库的固有机制,不会影响原有OLTP数据库的性能,具有比DELTA文件和建立映象文件更高的刷新效率
    3. 缺点:无法应用于无日志文件机制的遗留数据库系统

1.7. 数据仓库中ETL技术是什么?在数据仓库架构中ETL完成什么任务?

  1. ETL:数据抽取、数据转换和数据装载
  2. ETL任务
    1. 数据抽取:数据仓库中的数据来源于数据源,将数据源中数据通过网络进行抽取,并经加工、转换、综合后形成数据仓库中的数据,这就是数据仓库的数据抽取。
    2. 数据转换:数据元素的重命名、格式化,数据编码的转换(解析、校正、标准化、增补)
    3. 数据刷新:
      1. 经过抽取进入数据仓库的数据,在经过一段时间后要重新修正,修改那些过时的数据,保存那些不变的数据,此种动作称为数据仓库的数据刷新。
      2. 数据刷新的过程与抽取类似,但刷新的数据量往往小于抽取的数据量。由于仅需要对修改过的数据进行刷新,因而其实现难度与复杂性要大于数据抽取。
    4. 数据装载:数据经过转换、清洗后,需要装载到目标数据库中。数据装载的方式有多种:全表对比方式、时间戳方式、日志表的方式、全表删除后再插入的方式。

1.8. 为什么在数据仓库体系中还需要建立数据集市?在企业中建立数据仓库和数据集市体系的方法主要有哪四种?请分别描述这些方法,并总结其优点和缺点。

  1. 描述:数据仓库与数据集市的关系类似于传统关系数据库系统中的基表与视图的关系。数据集市的数据来自数据仓库,它是数据仓库中数据的一个部分与局部,是一个数据的再抽取与组织的过程。
  2. 真实原因:全局性数据仓库往往太大,在实际应用中将它们按部门或个人分别建立反映各个子主题与区域的局部性数据组织,它们即是数据集市。因此,有时我们也称它为部门数据仓库;不同的主题会应用到的数据不同,对数据的时效性等部分要求不同。
自顶向下的数据集市 自底向上的数据集市
总线结构的数据集市 企业级数据集市
  1. 数据仓库与数据集市关系
    1. 自顶向下结构
      1. 构建企业数据仓库:公共中央数据模型;数据再加工;减少冗余和不一致性;搜集历史的、细节的、全局的数据
      2. 基于企业数据仓库构建数据集市:选定企业模型下的部门主题;聚集数据;建立集市数据对企业数据仓库的依赖关系
      3. 优点
        1. 建立数据集市能够减轻DW访问负载
        2. 各部门可以任意处理数据
        3. 数据转换和整合在DW阶段统一完成
        4. 数据缓冲功能
      4. 缺点:成本高、见效慢、数据集市间不共享资源
    2. 自底向上结构
      1. 构建数据集市:划定主题区域;快速实施本地自治;易于复制;数据再加工;允许一定的冗余和不一致
      2. 基于数据集市构建企业数据仓库:确定各数据集市的可用性;模型的合并,消除不同数据集市之间的数据不一致性
      3. 优点:见效快、启动资金少
      4. 缺点
        1. 各个部门都要进行数据清理整合
        2. 可能造成"蜘蛛网"、数据不一致等问题
        3. 并且总体_上没有节约资金
    3. 总线结构的数据集市
      1. 不建立数据仓库而直接建立数据集市
      2. 各个数据集市不是孤立的,相互之间通过一种共享维表和事实表的"总线结构"紧密联系在一起。
      3. 优点:共享维表和事实表,解决了建立数据集市的许多问题
      4. 缺点
        1. 这种结构基于多维模型,应用限制于OLAP
        2. 多个数据源直接影响多个集市造成结构不十分稳定
    4. 企业级数据集市
      1. 在没有数据仓库的前提下用总线结构构建数据集市
      2. 数据集市遵循总线结构进行独立开发部署
      3. ETL过程不存在数据结构问题

1.9. 数据仓库应用中数据挖掘在什么地位?和其他方式有什么差异?

  1. 在传统的决策支持系统中,数据挖掘技术是建立在数据库的基础上的,数据挖掘只是其中的一个部分,在这之前需要大量的数据查询和预处理
  2. 有了数据仓库技术之后,由于数据仓库中的数据都是经过抽取、整理和预处理后的综合数据,因而数据挖掘工作可以在数据仓库上直接运行
  3. 差异:
    1. 在数据挖掘过程中,规则的发现基于统计规律
    2. 在数据挖掘中,知识的发现过程都应具有某种不确定性和一定的自由度,也就是要发现不平凡的知识( 能够以确定的计算过程提取的模式称为平凡知识)

1.10. 各种数据挖掘方法用来解决什么问题?

  1. 特征规则挖掘:用于描述一类数据对象的普遍特征,是普化知识的一种,包括面向属性归约方法和数据立方方法
    1. 面向属性归约:属性值间概念的层次结构进行归约,以获得相关数据的概括性知识,通常又称为普化知识
      1. 概念层次树
      2. 概括关系表:在不同概念层次上进行数据挖掘,完全可能获得不同的挖掘结果
      3. 在开始特征规则挖掘之前,需要从概括关系表中剔除那些出现频率过低的噪声数据(宏元组)。以减少数据挖掘所处理的宏元组的数量,提高挖掘的效率;同时也避免得到过多的兴趣度不满足要求的挖掘结果
    2. 数据立方方法:预先做好某些经常需要用到但花费较高的统计、求和等集成计算,并将统计结果存放在多维数据库中。在构造概括关系表时,就可以直接从多维数据库中获得所需要的统计结果,从而节省数据规约的时间,提高数据挖掘的效率。
  2. 关联规则挖掘:关联规则用于表示事务数据库中诸多属性之间的关联程度。而关联规则挖掘则是利用数据库中的大量数据通过关联算法寻找属性间的相关性
    1. Apriori算法:关联规则的挖掘过程也就是在数据库中寻找频繁项集的过程
  3. 序列模式分析:找出数据对象之间的联系,侧重点是为了找出数据对象之间的前因后果关系:如:下雨—洪涝;电筒—电池
  4. 分类分析:主要是通过分析训练数据样本,产生关于类别的精确描述。这种类别通常由分类规则组成,可以用来对未来的数据进行分类和预测
    1. 如:
      1. 信用卡公司对持卡人的信誉度标记按:优、良、一般,及差四档分类。这样,持卡人就被分成为四种类型,然后利用分类分析找出每一类持卡人的特征与规律
      2. 电话计费系统可以根据在不同时间段内电话的使用频率来调整计费单价
    2. 决策树方法:决策树表示了一一个关心电子产品的用户是否会购买PC(buys_ computer) 的知识,用它可以预测某条记录(某个人)的购买意向
  5. 贝叶斯方法
  6. 人工神经网络方法
  7. 约略集方法
  8. 遗传算法
  9. 聚类分析:研究分类问题的一种多元统计方法距离聚类和相似系数聚类
    1. 输入的是一组没有被标记的记录,系统按照一 定的规则合理地划分记录集合
    2. 划分方法:学生划分
    3. 层次的方法
      1. 基于密度的方法
      2. 基于网格的方法
      3. 基于模型的方法
  10. 应用:
    1. 金融业:
      1. 对帐户进行信用等级评估一聚类分析
      2. 股票交易规律分析
      3. 信用卡使用模式分析
      4. 金融市场的分析和预测
    2. 保险业:
      1. 保险费率的确定:从大量客户投保数据中分析并取得不同条件、不同人员、不同险种、不同时间与年龄的保险费率,使保险业主能获得合理的利润
      2. 险种关联分析:分析客户在购买了某种保险后是否同时还会购买另-一种保险一关联规则挖掘
      3. 用户群体预测:预测投保人员特征一特征规则挖掘
      4. 认购险种的预测:通过数据挖掘预测新险种的客户群以及新险种的前景
    3. 零售业:
      1. 可以分析顾客行为与习惯
      2. 可以分析商场销售商品的构成
      3. 数据挖掘还可用于商品销售预测、商品价格分析以及零售点设置布局等方面

1.11. 星型模型和雪花模型各自有什么优缺点

  1. 星型模型:星型模型是一种多维表结构,它一般由两种不同性质的二维表组成。
    1. 事实表:存放多维表中的主要事实,我们称为量(Measure)
    2. 维表:用以存放多维表中的维成员的取值
    3. 一般一个n维的多维表往往有n个维表和一个事实表,它们构成一个星形结构,因此称为星型模型。在星型模式中主体是事实表,而有关维的细节则构作于维表内以达到简化事实表的目的,事实表与维表间有公共属性相连以使它们构成一个整体。
  2. 雪花模型:
    1. 雪花模型是对星型模型的扩展:雪花模型对星型模型的维表进一步层次化,原来的各维表可能被扩展为小的事实表,形成一些局部"层次"区域。
    2. 优点:最大限度地减少数据存储量,使维表尽可能地规范化。
    3. 缺点:执行查询需要更多的连接操作,可能会影响查询的性能。

2. 简答题

2.1. 请给出一个具体的数据立方体模型的例子(绘图说明)

  1. 产品P(product)、商店S(store)及日期D(Date)

2.2. 以该数据立方体为例介绍OLAP中的维和层的概念

  1. 维(Dimension):观察度量值的角度
    1. 例如:可以从三个"维"角度观察"销售金额"这个对象
      1. 时间维:可从时间角度统计(所有)商品在不同时间段内的销售(总)金额,以便于分析其与时间之间的关系
      2. 商品维:根据商品的分类情况统计每一类商品的销售金额,以便于分析其与商品类型之间的关系
      3. 地域维:可根据每个连锁店所在的地域统计其销售(总)金额,以便于分析其与地域之间的关系
  2. 层(Layer):在分析型应用中,对分析对象可以在不同的深度层面上进行分析与观察,并可能得到不同的分析结果。因此,"层"反映了对分析对象的观察深度。(可以使维度的取值有不同的度量)
    1. 按如下的方法进行层次划分
      1. 按商品的价格分为:高档,中档,低档
      2. 按商品的供应商分为:外资,合资,国营,私营,个体
      3. 按购买商品的顾客信息
      4. 按照年龄层次来划分:老年,中年,青年,少年儿童,婴儿
      5. 按照所从事的职业来划分…
  3. 以下为补充
  4. 维成员:维的一个取值称为该维的一个"维成员"
    1. 如果一个维是多层次的,则该维的"维成员"可以是
      1. 在不同维层次上的取值的组合,例如:对具有日,月,年三个层次的"时间维"来说,“某年某月某日”、“某年某月”、“某月某日”、"某年"都是其维成员,如: 1998年,1月,1998年1月,1998年1月1日,1月1日
      2. 在某个维层次,上的取值
        1. 例如:“地域"维中的"江苏”,“南京”,…
        2. 例如:“商品"维中的"电视机”, “服装”,…
    2. 对一个数据项(分析"对象")来说,维成员是该数据项在某维中位置的描述。
  5. 数据单元(单元格)
    1. 当多维数组的每一维都选中一个维成员,这些维成员的组合就唯一确定了一个观察对象的值,即(维成员1,维成员2,…维成员n, 对象值)
    2. 这样一个值或存 放该值的地方我们称其为一个"数据单元"

2.3. 以该数据立方体中的某一维,举例说明什么是切片(slice)、切块(dice)、数据概括(roll-up) 和数据细化(drill-down) 操作。

  1. 切片(slice):根据某一维上的某个维成员值选择统计数据进行分析
  2. 切块(dice):
    1. 根据某一维上的某个维成员取值的区间选择统计数据进行分析
    2. 根据多个维度上的维成员取值的区间选择统计数据进行分析
  3. 数据概括(roll-up):将多维下标的取值提升到较高的概念层次上,从而形成新的统计查询结果,并进行分析。
  4. 数据细化(drilldown):将多维下标的取值降低到较低的概念层次_上,从而形成更细致的统计查询结果,并进行分析。
  5. 旋转(Pivot/Rotate) :调整维的排列次序的动作称为旋转

2.4. 商务智能各个部件的概念

  1. 第一部分:数据源
  2. 第二部分:数据获取
    1. 最重要的ETL
    2. 用数据建模工具和其他工具进行管理
    3. 使用元数据类型来决定数据的形式
  3. 第三部分:数据存储和管理:所有的数据都应该涵盖在这些数据中,一半的数据存储和管理 + 信息获取。
  4. 第四部分:信息获取:这部分已经成为信息
    1. 和主题相关的数据项
    2. 主题:拥有共同上下文的综合体

3. 其他知识点补充

3.1. 数据、信息与知识

  1. 知识:知识是头脑中的见识和背景,需要反思和综合,知识难以构造,难以在机器上捕获和转移,通常是默认信息
  2. 信息:信息是具有相关性和目的的数据,我们需要对信息的意义达成共识,必须是被人为调制处理后的。
  3. 数据:数据是有关世界的客观事实,易于组织和捕获、转移
  4. 数据 + 上下文 \rightarrow 信息

3.2. 为什么需要商务智能?

  1. 许多数据仓库解决方案共同的一个缺点就是系统的开发者总是专注于软件技术,而不是商业解决方案
  2. 数据仓库解决方案的另一个问题是:人们仍然过多地关心如何建立数据仓库,而不是如何对它进行访问,然而这只是一个开始。

3.3. 商务智能是什么?目标是什么?

  1. BI的定义
    1. 从数据到信息,BI是将数据转换为有意义的内容的过程
    2. 访问、钻研、分析和挖掘数据获得启发和了解,从而提供更完善和更全面考虑的决策支持
  2. BI的目标
    1. 决策支持(Decision-making Supporting)
    2. 改善信息访问(Information access-improving)
  3. 商务智能系统不仅支持最新的IT技术,同时也提供了打包的应用解决方案

3.4. 数据挖掘

  1. 数据挖掘就是对数据库或数据仓库中蕴涵的、未知的、非平凡的、有潜在应用价值的模式或规则的提取
    1. 基于数据库和数据仓库是任意的,也可以不面向如上两个。一般是面向数据库和数据仓库,如果没有数据库和数据仓库,则需要将构建这二者的相应的操作都做一遍
    2. 这些模式(规则)的提取:不要求是有效的模式,不要求规则是公理
    3. 蕴涵:一定是有隐含对应的关系
      1. 不能告诉你解释:因为不支持对当前的数据集(未知)的解释
      2. 不能不告诉你解释,因为是根据之前的数据集的解释
    4. 未知的:是没有发现的规律
    5. 非平凡:有一定的概率是对的,有一定的概率是错的,在当前的数据集上有一定的百分比成立
    6. 潜在应用价值:当前数据挖掘的结果,如果不能有一个所谓的未知性,那么是不存在潜在的应用价值的。
  2. 用于发掘数据中隐藏的模式:数据的规律是针对这一部分数据和相似数据是成立的,但是对于其数据不一定是成立的。
  3. 需要借鉴各种相关领域的理论和方法
  4. 用于发现隐藏模式的算法既可以是自动进行,也可以在人工指导下完成
  5. 数据挖掘方法
    1. 特征化与区分:特征工程
    2. 关联规则挖掘:若干个不同规律出现的频繁程度,A在则B一定在。
    3. 分类挖掘:根据已有分类标签来提取分类规律,建立一般数据和分类标签的映射。
    4. 聚类挖掘:将用户分为几个小的类别,但是不确定会将同学们分为什么类别,根据特性拆分为小组。
    5. 时序和挥发性数据挖掘:有些数据是具有时序性的,有些数据是没有必要进行持久化,挥发性数据可能需要我们进行一定的决策,但是有一些时序性数据需要是在线的。
    6. 异常分析:上面五点是通过对一般的数据进行分析,部分时候异常信息会包含有较多的信息量,比如有一位同学四处进行大额汇款(出现异常情况,和日常消费习惯不一样)
  6. 面向的数据类型(其他的数据挖掘方式)
    1. 关系型数据
      1. 事务型数据库
      2. 数据仓库
    2. 文本数据挖掘
    3. Web挖掘
    4. 空间数据挖掘
    5. 多媒体数据挖掘

3.5. 商务智能的发展方向

  1. 分布式
  2. 插件化
  3. 大众化

3.6. 操作型数据和分析型数据

3.7. 信息系统发展

3.8. 为什么建立数据仓库

为了适应因市场商业经营行为的改变和市场竞争程度的加剧而进行的分析型处理的需要

3.9. ETL工具分类

  1. 产生源代码的软件:能力强大,但是比较烦
  2. 产生参数化的运行时模块的软件

3.10. 数据仓库的数据组织形式

  1. 简单堆积文件
    1. 概念:将数据库中提取加工的数据,直接积累存储
    2. 操作:来一个存放一个,按照时间先后顺序存放,堆积
  2. 轮转堆积文件
    1. 概念:将数据的存储单位,分成若干级别,每个级别有有限个指定的数据;
    2. 数据形式:一定时间段的综合数据,称为轮转记录;
    3. 优点:结构简单,数据量比"简单堆积文件"少;
    4. 缺点:综合数据,会损失数据细节,越久远的历史数据,数据细节损失的越多;
    5. 操作:够一个时间段,就将指定长度的数据综合在一起; 每次综合都会损失一的数据细节;
    6. 示例:如果数据积累够 1 天,直接综合成一天的数据;如果数据积累够 30 天,直接综合成一个月的数据;如果数据积累够12个月,直接综合成一年的数据,小时的数据不超过24个,天的数据不超过30个,月的数据不超过12个;
  3. 简化直接文件
    1. 概念:按照一定时间间隔,对数据库采样;
    2. 快照:每隔一定时间,做一个数据库快照,存储该快照,与"简单堆积文件"类似;
    3. 示例:周一对数据做一个快照,周二在做一个快照,每天都做一个数据库快照,存储下来;
    4. 缺点:浪费存储空间;
  4. 连续文件
    1. 在上述"简化直接文件"快照的基础之上,进行增量更新,只更新对比后的差异数据;
    2. 概念:两个连续简化的直接文件,对比两个文件的差异,生成连续文件;
    3. 连续文件 + 新的简单文件 = 新的连续文件

3.11. 元数据

  1. 通过元数据可以将数据仓库和复杂的数据源系统的变化隔离,是数据仓库开发和维护的一个关键因素,也是保证数据抽取质量的依据,应该想办法用自然语言描述
  2. 元数据一般存放于数据仓库中并受元数据管理系统的管理,这被称为元数据管理

3.12. OLAP&OLTP

3.13. Codd对OLAP的评价原则

  1. OLAP必须提供多维概念视图
  2. 透明性准则
  3. 存取能力准则
  4. 稳定的报表功能
  5. 客户/服务器体系结构
  6. 维的同等性原则
  7. 动态的稀疏矩阵处理准则
  8. 多用户支持能力准则
  9. 非受限的跨维操作
  10. 直观的数据操作
  11. 灵活的报表生成
  12. 不受限维与聚集层次

3.14. MOLAP&ROLAP

3.15. ROLAP优化手段

  1. 采用物化视图方式:存储物化视图,之后就可以直接调用,将视图这种"虚表"形式转换成实际存在的二维表,以达到快速取得综合数据的目的
  2. 采用特殊的索引与集簇方式,以加速星型模式内表的联接速度
  3. 尽量采用并行操作方式以提高处理速度
  4. 采用OLAP中的查询优化技术,如共享排序技术等
  5. 采用增量技术,在OLAP数据更新时保留不变的数据,仅更改变动的数据以加快数据更新速度

3.16. 物化视图

  1. 为了提高对统计信息的查询速度,我们可以预先计算好数据视图中的统计信息并保存在数据仓库中,这称为物化视图,即将虚的视图转变成实际的视图
  2. 数据立方体的物化
    1. 不进行物化
    2. 全物化:n维 L层的立方体包含T=i=1n(Li+1)T = \prod\limits_{i=1}\limits^{n}(L_i+1)种子方,之所以加1是因为包含了All层次
    3. 部分物化

3.17. 生命周期

3.18. 数据仓库的设计原则(展开)

  1. 面向主题原则:构建数据仓库的目的是面向企业的管理人员,为经营管理提供决策支持信息。因此,数据仓库的组织设计必须以用户决策的需要来确定,即从用户决策的主观需求(主题)开始
  2. 数据驱动原则:在数据仓库设计中,由于其所有数据均应建立在已有的数据库基础上,即是从已经存在于操作型环境中的数据出发进行数据仓库的设计,这种设计方法被称为 “数据驱动” 方法
  3. 原型法设计原则

3.19. 数据仓库设计的三级数据模型

  1. 概念模型
  2. 逻辑模型
  3. 物理模型

3.20. 数据仓库的设计步骤

  1. 系统规划
    1. 明确主题
    2. 技术准备
  2. 概念设计
    1. 确定系统边界
    2. 确定主要的主题及其内容
    3. OLAP等分析应用的设计:一般将数据划分为详细数据、轻度总结、高度总结三种粒度,或者采用更多级的粒度划分方法
  3. 逻辑设计
    1. 将E-R图转换成关系数据库的二维表
    2. 定义数据源和数据抽取规则
    3. 在逻辑模型的设计过程中,需要考虑以下一些问题:
      1. 适当的粒度划分
      2. 合理的数据分割策略
      3. 定义合适的数据来源
  4. 物理设计
  5. 数据仓库生成
  6. 数据仓库运行与维护

3.21. 维度建模的设计过程

  1. 选取要建模的业务处理过程
  2. 定义业务处理的粒度
  3. 选择事实表中的维度
  4. 选择事实表中的度量值
  5. 通过计算而获得的可加性度量值也应该物理存储在事实表中,如:毛利润金额。
  6. 不具有可加性的计算结构则应该由数据存取工具在访问过程中进行计算,如:毛利润率。

3.22. OLAP

  1. 通过专门的数据综合引擎,辅之以更加直观的数据访问界面,力图统一分散的公共应用逻辑,在短时间内响应非数据处理专业人员的复杂查询要求。1993年,E.F. Codd将这类技术定义为OLAP

3.23. 数据仓库的生命周期

3.24. 粒度划分模型:事务,周期快照,累积快照

  1. 事务:
    1. 记录的事务层面的事实,保存的是最原子的数据,又称"原子事实表",事务事实表中的数据在事务时间发生后产生。
    2. 粒度是一条记录,比如银行转账1块钱。
    3. 更新方式是增量更新,具有稀疏性质,因为很多的事实可能不同时发生,是稀疏表,只有当天发生了操作才有记录。
  2. 周期快照:
    1. 具有规律性的、可预见的时间间隔来记录事实,统计的是间隔周期内的度量统计。时间间隔:年、月、日等。
    2. 周期快照没有粒度的概念,是周期+状态度量的组合,其粒度是每个时间段一条记录。
    3. 周期快照事实表维度少于事务事实表,但是记录的事实要多于事实事务表。
    4. 更新方式是增量更新,是稠密表,哪怕当天没操作也会有记录
    5. 用于记录重复的可预测时间间隔的事实,比如每月账单。
  3. 累积快照
    1. 累积快照事实表存储的是不确定的周期的数据,他完全覆盖了一个事务或一个产品的生命周期的时间跨度,通常有多个日期字段来记录关键时间点,比如订单的付款时间、发货时间、收货时间等。
    2. 累积快照事实表只会有一条记录,数据会一直更新到过程结束
    3. 通常包含很多日期字段,并且会有一个用户只是最后更新日期的附加日期字段。
    4. 用于记录较短周期,有着明确开始和结束状态等多个状态的过程。

3.25. 例子一:零售营销

  1. 使用维度支架的方式连接,也就是首次开业日会作为FK连接到另一张表上。
  2. 非事实型事实表不包含度量维度
  3. 退化维度:维度表为空,具体的维度值直接存放在事实表中,订单编号用于对订单上的分列项目进行分组,因此仍然有效,偶尔用于数据仓库反向连接操作型领域
  4. 模型的演化
    1. 新的维度属性(例如,产品的全新描述属性)
      1. 加入时间点前的,使用"不可用"进行填充
      2. 比如添加了是否转基因的条目,那么之前为空的部分,就用"不可用"进行填充。
    2. 新的维度(例如,会员、店员、日间时间等分析的新角度)
      1. 新的维表
      2. 在事实表中填加新的外关键字
    3. 新的度量值事实
      1. 添加新的度量值属性
      2. 需要考虑事实表粒度
    4. 维度变得具有更多的粒度性
      1. 建立新粒度层次上的维度表
      2. 可能带来新粒度层次上的事实表,从而需要同时建立新的维度表和事实表,新的维度表会添加新的事实。
    5. 全新的数据源的加入,会同时牵涉现存的维度和不能预见的新维度
      1. 新数据源几乎总是拥有自己的粒度和维度
      2. 建立新的事实表和维度表
  5. 规范化和非规范化

  1. 代理关键字,避免直接使用操作型数据作为维度表和事实表的主关键字和外关键字:性能优势、缓冲、历史一致性

3.26. 例子二:库存管理

  1. 四步维度建模
    1. 业务处理过程:零售商场的库存
    2. 粒度:每个商场每天每种商品的库存
    3. 维度:最初的维度选择
      1. 日期、商场、商品
      2. 促销:如果我们认为这是有用的,那么我们可以这样做。
    4. 事实(度量值):库存数量
  2. 半加型事实:只在部分维度上具有可加性的度量值
  3. 一致性维度是进一步开发总线结构数据仓库系统的基础
    1. 一致的维度关键字
    2. 一致的属性列名字
    3. 一致的属性定义
    4. 一致的属性值
  1. 同样的事实在不同的数据备份中进行存储的一致性
    1. 取值单位的一致性
    2. 的一致性
    3. 自然关键字的一致性
  2. 数据仓库中不允许编码格式

3.27. 例子三:订单管理

  1. 规范化
    1. 规范化拆分的时候往往后面的互斥属性会节约空间,但是前面的属性会冗余可能会导致浪费空间,需要进行考虑。
    2. 有上下文环境访问拆分后的表,需要用很多次查询才可以拿到原来应该得到的属性,也就是这种操作不一定节约空间,一定浪费时间
  2. 规范化时机
    1. 事实行的事实设置比较稀疏
    2. 不在事实之间施加运算
  3. 反规范化节约空间又节约时间,所以我们乐意这样干,但是有时候反规范化会导致误导粒度不兼容:按照摊派的思想,我们要将订单的折扣摊派给每一个元组,但是可能会导致分析误导:订单折扣和其他的部分关联非常大,订单折扣和谈判人员是有关的。
  4. 角色扮演:后台只维持一个单一的日期维度表,类似数据库的View
    1. 为事实表中的每一个日期外关键字建立一个日期维表上的视图,类似的也可以用上角色模仿(比如员工的模仿)
    2. 优点:降低存储空间开销,方便使用
  5. 实体之间存在固定的、不随时间变化的、强烈相关的关系时,需要作为单一维度进行建模,而其他情况下需要分割
  6. 杂项维度:从复杂的数据源中提取与事实、维度相关的字段后,往往还有大量在小范围内选取离散值的指示符与标志,这些维度和其他维度都没有关联,他们之间也只有少量的关联,由于没有足够的空间,则将他们压缩到一个维度中。
    1. 可以将它们组装成一个或多个独立的杂项维度表(junk dimension)
    2. 杂项维度使用非编码属性
  7. 订单标题事实到订单分列项的分配:订单标题事实由于包含订单折扣,所以是不可以替代的,设计到反规范化的问题:在较低层次事实表中尽可能包含所有可用的高层事实表中的事实

  1. 因子一般不作为维度表属性,而作为事实表的属性

  1. 三种不同类型的实时分区
    1. 事务粒度:当天的记录(并非统计结果),可能不建立索引
    2. 周期快照:最近一个周期内的统计结果,对非/半加性事实的考虑
    3. 累积快照:只记录最近被更新的项,无需索引和聚集

3.28. 例子四:客户关系管理

  1. 日期维度支架:区别角色扮演,具有更多的专有属性
  2. 低基数属性
    1. 只有少量几个取值的属性
    2. 大量元组共享了相同的属性和属性组,这很可能就是我们看到的上下文信息
  3. 支架维度
    1. 将一组低基数属性单独构成客户维度的一个维度(称为支架维度),从而使整个模型呈雪花状
    2. 支架维度中的数据一般是从外部数据提供者那里获得的,如:县人口统计支架维度
    3. 如果用户的查询工具坚持使用星型结构,那么可以通过视图定义来隐藏维度支架
  4. 数据仓库刷新频率可以不一样,维表中如果有一个属性发生了变化,为了更新数据历史完整化,那么我们必须要复制一个元组,如果没有维度支架,那么就要复制整体,而如果有维度支架则只需要复制部分。

  1. 深度可变体系客户维度
    1. 桥接表 - 自顶向下:客户维度对应客户体系桥中的父客户关键字
    2. 桥接表 - 自下而上:客户维度对应客户体系桥中的子客户关键字
  1. 体系桥接连表样本行
    1. 体系桥接连表样本行数计算公式:
      1. 用每层的取值数目乘以层深度(从顶层开始计数),然后将乘积相加起来
      2. =()体系桥接表样本行数 = \sum(层取值数目 * 层深度)
    2. 例:1×1+2×2+3×3+2×4=221×1+2×2+3×3+2×4 = 22

3.29. 数据资源利用的方式

  1. 数据资源的查询服务
  2. 数据资源的演绎
    1. 知识的利用与搜索(AI)
    2. 演绎数据库
    3. 统计分析软件(SAS,SPSS)
    4. OLAP
  3. 数据资源的归纳
    1. 数据挖掘:数据资源的归纳

4. 选择题

  1. 鉴于商务智能的重要作用,企业在进行信息化时,应以企业数据模型为蓝本,同步事务处理系统和分析处理系统

2020-商务智能-Exam02-复习提纲
https://spricoder.github.io/2021/01/15/2020-Business-Intelligence/2020-Business-Intelligence-Exam02-%E5%A4%8D%E4%B9%A0%E6%8F%90%E7%BA%B2/
作者
SpriCoder
发布于
2021年1月15日
许可协议