OLAP:联机分析处理
OLAP:Online Analytical Processing
联机分析处理(OLAP)指的是对存储在数据库或数据仓库中的数据提供分析的一种软件。OLAP 工具能快速提供复杂数据库查询的答案,并帮助用户分析多维数据中的各维情况。通常 OLAP 应用于
数据仓库中的数据处理过程,即所谓的“数据挖掘”(Data Mining)。
关系数据库中,是将经过规范化的实体存放在分散的表格中。该结构非常适用于操作型数据库,但该结构对于复杂的、包含多个表的查询,速度相对较慢。多维数据库是一种更好的查询模式,但其操作性能较差。
OLAP 的主要组成部件是 OLAP 服务器,它位于客户机和数据库管理系统(DBMS)之间。OLAP 服务器清楚数据如何被组织成数据库,并具有关于数据分析的特定功能。例如,OLAP 软件获取关系数据库的一个映像后,重新构建一个多维数据,然后便可重新对此查询。
由操作型数据创建而来的 OLAP 结构被称之为 OLAP 数据集(OLAP cube)。OLAP 数据集中可能包含每个查询的所有答复。OLAP 数据集采用的星型模式指:事实表列出关键事实,然后由中心进行查询的一种方式。大量的维度表与事实表相链接。为避免计算所有可能的数集,所以只对预先确定的数进行完全的计算,其它的作为备用。
OLAP 具有三种类型:
多维 OLAP(MOLAP) ― MOLAP 是 OLAP 中较为“流行”的一种。它使用摘要型数据库,具有一个专用数据库引擎,并且按照需求创建包含基本数据和数据集合的多纬度模式。MOLAP 在小型数据设置方面占有一定优势,集合计算和返回答案的速度都比较快,但同时也能快速创建海量数据。
关系 OLAP(ROLAP) ― ROLAP 与关系数据库直接相关,基本数据和纬度表代表关系表,此外创建一个包含数据集合信息的新表。ROLAP 是较 MOLAP 更为高级的一种类型,优点是占有空间小,但其预处理和查询性能也是最低的。
混合 OLAP(HOLAP) ― 混合 OLAP 使用关系表表示基本数据和纬度表。在所有领域中 HOLAP 介于 MOLAP 和 ROLAP 之间,但它能提供快速预处理和良好的衡量。
实现 OLAP 的主要难点是查询构成、基本数据选择和模式开发。这使得大多数现代 OLAP 产品与大型预置查询库结合使用。另一个问题是基本数据必须完全一致。