从BIEE 12看数据仓库

从 BIEE 12 看数据仓库

基本概念

OLTP

  • OLTP 即联机事务处理(On-Line Transaction Processing),主要指发生在操作型系统上的面向事务的操作,这里的事务特指业务上的统一且不可分割的一系列操作,而不是数据库中增删改查的单个原子操作。
  • OLTP 经常触发 CRUD 操作(CRUD 是指在做计算处理时的增加(Create)、读取查询(Retrieve)、更新(Update)和删除(Delete)),是插入和更新密集型操作,要求(超)高并发,响应快。ORCALE EBS系统就是一个例子:用户在订单管理器创建订单,供应商的可用余额扣减,库存的可用量也同时扣减。从数据库角度上看,涉及到两个表(简化模型,实际涉及多张表)的更新操作,也就是发生了两个单独的 update;但是从业务的角度上来说,这是同一个事务,即更新供应商余额和扣减库存必须同时成功,其中一个失败,整个事务必须回滚到处理前的结果。

OLAP

  • OLAP 即联机分析处理(On-Line Analytical Processing),主要指发生在分析型系统上的面向多维度查询操作,通常在装载数据前需要清洗和转换。
  • OLAP 处理的事务相对操作型系统来说较少,但是查询通常对历史的、归档的数据进行非常复杂的逻辑,如聚合计算,大量表关联等,属于查询密集型操作,要求能够体现多维度,多主题,高整合度,能够反映变化趋势的数据。Oracle BIEE上展现报表诸如库存账龄、追溯库存历史、现金流等,是对整个数据库业务数据的高度检索,能够反映出业务数据的同比(去年同期)和环比(同年不同季)。
对比项 OLAP OLTP
数据源 可能来源于多个不同的业务系统,主要是历史、归档的数据 当前系统业务操作的所有明细记录都要保存
操作 注重于大量表的查询和聚合计算,数据装载量大 注重更新和插入,要求执行速度快,并发量大
应用 决策支持系统,报表分析系统 在线的交易、管理系统
用户 管理人员、分析人员 终端用户
数据模型 雪花型或星型模型 实体关系模型
备份 按天增量同步,若数据丢失需要从操作型系统重新装载 全量定期备份,数据不可丢失
时间 以年为单位 从天到年
空间要求 存放多个系统的数据的数据仓库,空间要求大 仅存放当前操作数据,空间要求小

数据仓库定义

数据仓库描述为一个面向主题的、集成的、随时间变化的、非易失的数据集合,用于支持管理者的决策过程。数据仓库通过抽取一个或多个系统的数据,经过清洗、转换装载到新的数据库中,它是 OLAP 的基础。

数据仓库的必要性
  • 数据的类型非常多,除了不同数据库需要特定的一个仓库兼容以外,还有各种各样的文件类型(如 xls、CSV、HTML、XML 等)
  • 出于权限控制的要求,一个用户不能同时访问多个系统或多个数据表
  • 用户需要看的字段,在数据库中可能需要一定的转换才能呈现,而每次发生业务变更后可能都需要额外编写这些字段,导致工作重复
  • 系统以联机事务处理为主,频繁访问分析数据,可能会导致性能变差
数据仓库的特性
  • 面向主题:拥有通过划分主题定义数据仓库的能力
  • 集成:即面对多个系统、多个数据库,能够统一转换后存放在一起。同时能够解决命名冲突的问题
  • 随时间变化:数据仓库关注的是数据随时间变化的情况,并且能反映在过去某个时间点的数据是怎样的。
  • 稳定:一旦进入到数据仓库中,数据就不应该再有改变。
  • 粒度:粒度之所以是数据仓库环境的关键设计问题,是因为它极大地影响数据仓库的数据量和可以进行的查询类型。粒度级别越低,数据量越大,查询的细节程度越高,查询范围越广泛,反之亦然。

数据仓库概念设计

基本架构

image.png

数据需求

事实和维度
  1. 明确业务范围,想清楚要设立的主题有哪些,主题下面的分析表有多少,然后确定装载数据的 ER 实体关系,每一个实体关系就是一个事实。
  2. 明确维度指标的范围,维度的范围随着业务范围改变而改变。
    财务主题常用的维度一般有账龄、帐簿、成本中心、会计科目、法人、经营单位、客户、供应商、供应商地点、位置、销售员等;
    库存主题常用的维度一般有物料、库存组织、子库存、货位、批次号、物料账龄等;
    通用的维度一般有时间维度,按年月日存放。
  3. 明确事实表所选用的数据模型,一般从星型和和雪花型中选择。在雪花模式中,一个维度被规范化成多个关联的表,而在星型模式中,每个维度由一个单一的维度表所表示。
    例如:单一的时间维度,在星型模型中,包含年份、月份、天,都存放在同一个表里,而雪花型中区分为年份维,月份维和天数维;产品维度分解成产品分类、产品两个表。
数据需求
  1. 时效性:明确时间粒度,对于时效性较强的数据,抓取的数据频率要提高,但是对于分析型系统而言一般不需要很强的实时性,一般把抓取数据的频率定为以一天为粒度。
  2. 追溯性:从业务系统中生成到 BIEE 的分析表要根据实际情况,部分分析表会有查询到某一历史事件点的需求。
0%