天天看点

OLAP技术,数据仓库实施的环节、技术和方法论1 OLAP技术2 数据仓库实施的关键环节和技术3 数据仓库实施方法论

目录

  • 1 OLAP技术
    • 1.1 OLTP与OLAP
      • 1.1.1 比较
      • 1.1.2 OLAP有关概念
      • 1.1.3 OLAP的分类
      • 1.1.4 OLAP工具
  • 2 数据仓库实施的关键环节和技术
    • 2.1 数据抽取
    • 2.2 数据存储与管理
    • 2.3 数据表现
  • 3 数据仓库实施方法论

数据仓库技术是为了有效地把操作型数据集成到统一的环境中以提供决策型数据访问的各种技术和模型的总称。

1 OLAP技术

1.1 OLTP与OLAP

1.1.1 比较

  1. 数据处理两大类:联机事务处理(On-Line Transaction Processing,OLTP)和联机分析处理(On-Line Analytical Processing,OLAP);
  2. OLTP是传统操作型数据库系统的主要应用,主要是日常事务处理,如银行存取款等;
  3. OLAP是数据仓库系统的主要应用,支持复杂分析、侧重决策支持、提供直观的查询结果;
OLTP OLAP
用户 操作人员、低层管理人员 决策人员、高层管理人员
功能 日常操作型事务处理 分析决策
数据库设计目标 面向应用 面向主题
数据特点 当前的、最新的、细节的、二维的、分立的 历史的、聚集的、多维的、集成的、统一的
存取规模 通常一次读或写数十条记录 可能读取百万条以上记录
工作单元 一个事务 一个复杂查询
用户数 成千上万个用户 可能只有百十个用户
用户 GB级(通常100MB-1GB) TB级(通常100GB-1TB及以上)

1.1.2 OLAP有关概念

  1. 多维数据集:联机分析处理的主要对象,是一个数据集合,通常从数据仓库的子集构造,并组织汇总成一个由一组维度和度量值定义的多维结构;
  2. 维度:OLAP的核心,即人们观察客观世界的角度。通过把一个实体的一些重要属性定义为维,使人们能对不同维属性上的数据进行比较研究。例如,一个企业在考虑产品的销售情况时,通常从时间、销售地区和产品等不同角度来深入观察产品的销售情况。这里的时间、地区和产品就是维度,这些维的不同组合和所考察的度量值(如销售额)共同构成的多维数据集则是OLAP分析的基础;
  3. 度量值:是多维数据集中的一组数值,这些值基于多维数据集的事实数据表中的一列,是最终用户浏览多维数据集时重点查看的数值数据,也是所分析的多维数据集的中心值。如销售额、成本值、费用支出等都可能成为度量值;
  4. 多维分析:指对以“维”形式组织起来的数据(多维数据集)采取切片、切块、钻取、旋转等分析动作,以求剖析数据,使用户能从不同角度、不同侧面观察数据仓库中的数据,从而深入理解多维数据集中的信息。多维分析操作通常包括如下内容:
    • 钻取可以改变维的层次、变换分析的粒度,包括向上钻取、向下钻取、交叉钻取、钻透等。向上钻取即减小维数,是在某一维上将低层次的细节数据概括到高层次的汇总数据,向下钻取则从汇总数据深入到细节数据进行观察,增加了维数;
    • 切片和切块是在一部分维上选定值后,度量值在剩余维上的分布。如果剩余维有两个则是切片,有三个则是切块;
    • 旋转是变换维的方向,即在表格中重新安排维的放置,例如行列互换;
  5. OLAP技术是使分析人员、管理人员或执行人员能够从多角度对信息进行快速、一致、交互的存取,进而获得对数据的深入了解的一种软件技术;
  6. 目标是满足在多维数据环境下的特定查询与报表需求,以及辅助决策支持的需求;
  7. OLAP技术通常表现为多维数据分析工具的集合;

1.1.3 OLAP的分类

OLAP根据存储数据的方式可分为ROLAP、MOLAP和HOLAP;

1 ROLAP

  1. ROLAP(relational OLAP)表示基于关系数据库的OLAP实现;
  2. 以关系数据库为核心,以关系型结构进行多维数据的表示和存储;
  3. 将多维数据结构划分为两类表:事实表(用来存储度量数据和维关键字),维表(针对每个维使用一个或多个表来存放维的层次、成员类别等维的描述信息);
  4. 维表和事实表通过主关键字和外关键字联系在一起,形成“星型模式”;
  5. 对层次复杂的维,为避免冗余数据占用过大的存储空间,可以使用多个表来描述这种维度,即对星型模式进行扩展,形成“雪花型模式”;

2 MOLAP

  1. MOLAP(multidimensional OLAP)表示基于多维数据结构组织的OLAP实现;
  2. 以多维数据组织方式为核心,例如使用多维数组来存储数据;
  3. 多维数据在存储中形成类似“立方块”(cube)结构;
  4. 在MOLAP中对“立方块“(可能不止三维)的”旋转“、”切片“、”切块“是产生多维数据报表的主要技术;

3 HOLAP

  1. HOLAP(hybrid OLAP)表示基于混合数据组织的OLAP实现;
  2. 有更好的灵活性:如低层是关系型的,高层是多维数组矩阵的;

1.1.4 OLAP工具

  1. OLAP工具是针对特定问题的联机数据访问与分析,通过多维的方式对数据进行分析、查询和报表;
  2. 一般是数仓应用的前端工具;
  3. 可以同数据挖掘工具、统计分析工具配合使用,以增强决策分析功能;

2 数据仓库实施的关键环节和技术

2.1 数据抽取

  1. 数据仓库是一个独立的数据库环境,需要通过抽取过程将数据从联机事务处理系统、外部数据源以及脱机的数据存储介质中导入数据仓库;
  2. 数据抽取在技术上主要涉及互连、复制、增量、转换、调度和监控等方面;
  3. 数据仓库的数据不要求与联机事务处理系统保持实时同步,因此抽取可以定时进行;

2.2 数据存储与管理

  1. 面对大量数据的存储和管理。对于传统的数据仓库来说,只有关系数据库管理系统能担此重任;目前数据仓库与大数据平台的集成已成为一种趋势,可以采用Hadoop集群和NoSQL数据库来扩展数据仓库的存储能力;
  2. 并行处理。在传统联机事务处理应用中,用户访问系统快速而密集,因此处理好并发操作是关键。而在数仓系统中,用户访问系统庞大而稀疏,每一个查询和统计都很复杂,但访问的频率不是很高。系统需要有能力将所有的软硬件资源调动起来,为这一复杂的查询请求服务,并对该请求作并行处理;
  3. 针对决策支持查询的优化。由于数仓中各数据表的数据量分布往往极不均匀,普通查询优化器得出的最佳查询路径可能不是最优的,因此面向决策支持的关系数据库在查询优化器上也做了改进,根据索引的使用特性增加了多重索引扫描机制和连接索引机制。数仓的查询常常只需要数据库中的部分记录,如消费最多的前10名客户等,且针对数仓的查询有时并不需要像事务处理系统那样精确,但要求在大容量数据环境中有足够短的系统响应时间。因此,多数关系数据库管理系统都对数据仓库和决策支持应用提供单独的系统安装选项,并针对数据仓库应用提供诸如基于数据采样的查询能力,进而在精确度允许的范围内,大幅度提高系统查询效率;
  4. 支持多维分析的查询模式。用户在使用数据仓库时的访问方式与传统数据库有很大不同,对于数据仓库的访问往往不是简单的表和记录的查询,而是基于用户业务主题的分析模式,即联机分析,其特点是将数据想象成多维的立方体,用户的查询便相当于在其中的部分维上施加条件,对立方体进行切片、分割,得到的结果往往是数值矩阵或向量,然后将其制成图表或输入统计分析的算法;由于关系数据库本身没有提供这种多维统计分析的查询功能,针对此问题,一般采用多维数据库或星型模式等技术:
    1. 多维数据库是一种以多维数据结构存储形式来组织数据的数据管理系统,它不是关系数据库,在使用时需要将数据从关系数据库中加载到多维数据库;采用多维数据库实现的联机分析应用即MOLAP;由于多维数据库缺少关系数据库所拥有的并行处理能力和大规模数据管理的扩展性,因此难以承担大型数据仓库应用,通常作为数据集市的一种实现方式;
    2. 星型模式是指关系数据库系统通过采用星型模式或类似结构来组织数据,以解决多维分析问题;星型模式可以将用户的多维查询请求转换成针对该数据模式的标准SQL语句,而且该语句是最优化的;星型模式的应用为关系数据库在数据仓库领域的应用提供了广阔前景;采用关系数据库实现的联机分析应用即ROLAP;目前大多数数仓厂商提供的数据库解决方案都采用ROLAP,因此,针对决策支持应用做过优化的并行关系数据库技术仍是数据仓库的核心和关键技术;

2.3 数据表现

数据表现是数据仓库的展示界面,针对数据表现的工具主要集中在多维分析、统计分析和数据挖掘三个方面:

  1. 多维分析是数据仓库的重要表现形式,由于MOLAP系统是专用的,因此关于多维分析领域的工具和产品大多是ROLAP工具,这些产品支持数据的Web发布,并提供基于Web的前端联机分析界面;
  2. 在实际应用中,客户通过对数据的统计分析来验证对某些事物或事件的假设,以进行决策;
  3. 数据挖掘不仅要验证人们对数据特性的假设,还要主动寻找并发现蕴藏在数据之中的规律;

3 数据仓库实施方法论

在数据仓库的实施过程中,首先需要弄清如下问题:

  1. 数仓提供哪些部门使用?各部门如何发挥数仓的决策效益?
  2. 数仓需要存放哪些数据?这些数据以什么样的结构存放?
  3. 数据从哪里装载?装载的频率多少为合适?
  4. 建立数仓需要选择哪些数据管理产品和工具?

数据仓库不是简单的数据或产品堆砌,它是一个综合集成解决方案和系统工程。在数据仓库的实施过程中,技术决策至关重要,技术选择或决策失误很可能导致项目实施失败。

继续阅读