来源:万方数据
本文讨论关系型联机分析处理(ROLAP)的概念和特点,并通过星级酒店经营数据集市实例分析,研究了多维数据模型的设计和构建。以此为基础,进行了ROLAP切片、切块、上钻、下钻、旋转等常规操作的应用研究。
序 言
信息技术的迅速发展和企业管理决策的迫切需要,使数据仓库理论应运而生。企业根据自身特点,建立起内容完备、结构合理的数据仓库后,还必须使用适当的技术和工具,对数据仓库存储的数据进行全面、透彻的分析,最终实现决策支持的目标。否则,大量的数据可能成为包袱,甚至成为垃圾。联机分析处理(OLAP)就是基于数据仓库的一种最重要的分析工具OLAP的基本思想是使企业的决策者能灵活地、从多个角度以多维的形式来观察企业的状态和了解企业的变化。因此,开展对OLAP的应用方法和技巧的研究,对有效发挥数据仓库的功能、支持企业决策具有重要的意义。
1 关系型联机分析处理ROLAP简介
1993年,数据仓库之父W.H.Inmon将数据仓库定义为:“一个面向主题的、集成的、随时间变化的、非易失性的数据集合,用以支持管理层的决策”。同时也提出了多维分析的概念,即联机分析处理OLAP。联机分析处理的过程是根据数据分析的要求,从数据仓库中某个特定主题的集成数据出发,通过直观的方式从多个角度、多个层次及多种数据综合程度对数据进行分析、比较,对经过多维组织后的数据进行切片、切块、聚合、钻取、旋转等分析操作,并以直观易懂的形式将结果返回给用户,使用户了解数据背后蕴含的规律。
联机分析处理(OLAP)系统按照存储器对数据存储格式不同,可以分为关系OLAP(ROLAP)、多维OLAP(MOLAP)和混合型OLAP(HOLAP)三种类型。
顾名思义,关系型联机分析处理(ROLAP)是以关系型数据库为基础的联机分析处理。特别之处在于联机分析处理中的数据结构组织的方式。ROLAP将分析用的多维数据存储在关系数据库中并根据应用的需要有选择的定义一批实视图,作为表也存储在关系数据库中。星型数据模型是重要的数据结构组织的方式。
虽然MOLAP是为OLAP量身订制,具有一定的特色和优势,但是,ROLAP由于能充分利用关系数据库成熟的理论和完整的技术,适应性强,因而被广泛应用。
2 数据仓库和联机分析处理数据模型的建立
以多维数组为基础的多维数据模型,也叫数据立方体,是数据仓库对数据组织的模式,也是联机分析处理(OLAP)的基础。正是多维数据模型,把数据仓库和联机分析处理(OLAP)紧密地联系在一起,使各自的功能得以有效地发挥。数据仓库是OLAP的基础,而OLAP是数据仓库的应用。因此,多维数据模型是决策支持的支柱,也是OLAP的核心。
星型数据模型是数据仓库和联机分析处理使用的最基本、最常用的数据模型。它能准确、简洁地描述出实体之间的逻辑关系。建立多维数据模型,一般都是在对应用主题分析的基础上,首先建立星型模型。
一个典型的星型模型包括一个大型的事实表和一组逻辑上围绕这个事实表的维度表。事实表是星型模型的核心,事实表由主键和度量数据两部分组成。星型模型中各维度表主键的组合构成事实表的主键。事实表中存放的大量数据,是同主题密切相关的、用户最关心的度量数据。维度是观察事实、分析主题的角度。维度表的集合是构建数据仓库数据模式的关键。维度表通过主键与事实表相连。用户依赖维表中的维度属性,从事实表中获取支持决策的数据。
现通过一个具体实例——星级酒店经营数据仓库(集市),分析星型数据模型的结构和建立。
星级酒店最需要关注客户的消费情况。在星级酒店经营数据集市星型数据模型中,基础事实表中需要记载的是客人最低粒度的消费事实。即:用何种促销手段使某位客人在某个时间进行了何种形式的消费,消费金额产多少。因此,在事实表中,要准确记载每位客人的消费形式、消费价格、促销方式、促销折扣、消费金额、成本,利润等度量数据。
围绕经营主题,星级酒店经营数据集市有以下典型的维度及其属性:
客户维:在客户维中,需要建立客户的基本信息。为决策分析需要,把客户分为常住客户和流动客户。
消费项目维:经营星级酒店,要向客人提供高质量的消费,消费项目多种多样。把经常性的消费项目归纳为:客房、餐饮、娱乐、其他等四类。每类消费都有消费内容的细节描述。
时间维:在数据仓库的多维数据结构中,时间维往往是不可少的一个维度。因为每项“销售事实”都是在一定的时间1或者时间段内发生。针对需求,时间维采用时、日、月、年四个属性。
促销维:行业的竞争,使各酒店都采用了形形色色的促销方式。促销增加了了营业额,但同时也增加了运营成本。促销的形式和效果,对管理者的决策具有重要价值。在促销维中描述了几种典型的促销方式:广告、打折、中介、联营等作为维度属性。根据决策需求,建立星级酒店经营数据集市星型数据模型,如图1所示。星型模型为演变生成雪花数据模型奠定了基础。
信息技术的迅速发展和企业管理决策的迫切需要,使数据仓库理论应运而生。企业根据自身特点,建立起内容完备、结构合理的数据仓库后,还必须使用适当的技术和工具,对数据仓库存储的数据进行全面、透彻的分析,最终实现决策支持的目标。否则,大量的数据可能成为包袱,甚至成为垃圾。联机分析处理(OLAP)就是基于数据仓库的一种最重要的分析工具OLAP的基本思想是使企业的决策者能灵活地、从多个角度以多维的形式来观察企业的状态和了解企业的变化。因此,开展对OLAP的应用方法和技巧的研究,对有效发挥数据仓库的功能、支持企业决策具有重要的意义。
1 关系型联机分析处理ROLAP简介
1993年,数据仓库之父W.H.Inmon将数据仓库定义为:“一个面向主题的、集成的、随时间变化的、非易失性的数据集合,用以支持管理层的决策”。同时也提出了多维分析的概念,即联机分析处理OLAP。联机分析处理的过程是根据数据分析的要求,从数据仓库中某个特定主题的集成数据出发,通过直观的方式从多个角度、多个层次及多种数据综合程度对数据进行分析、比较,对经过多维组织后的数据进行切片、切块、聚合、钻取、旋转等分析操作,并以直观易懂的形式将结果返回给用户,使用户了解数据背后蕴含的规律。
联机分析处理(OLAP)系统按照存储器对数据存储格式不同,可以分为关系OLAP(ROLAP)、多维OLAP(MOLAP)和混合型OLAP(HOLAP)三种类型。
顾名思义,关系型联机分析处理(ROLAP)是以关系型数据库为基础的联机分析处理。特别之处在于联机分析处理中的数据结构组织的方式。ROLAP将分析用的多维数据存储在关系数据库中并根据应用的需要有选择的定义一批实视图,作为表也存储在关系数据库中。星型数据模型是重要的数据结构组织的方式。
虽然MOLAP是为OLAP量身订制,具有一定的特色和优势,但是,ROLAP由于能充分利用关系数据库成熟的理论和完整的技术,适应性强,因而被广泛应用。
2 数据仓库和联机分析处理数据模型的建立
以多维数组为基础的多维数据模型,也叫数据立方体,是数据仓库对数据组织的模式,也是联机分析处理(OLAP)的基础。正是多维数据模型,把数据仓库和联机分析处理(OLAP)紧密地联系在一起,使各自的功能得以有效地发挥。数据仓库是OLAP的基础,而OLAP是数据仓库的应用。因此,多维数据模型是决策支持的支柱,也是OLAP的核心。
星型数据模型是数据仓库和联机分析处理使用的最基本、最常用的数据模型。它能准确、简洁地描述出实体之间的逻辑关系。建立多维数据模型,一般都是在对应用主题分析的基础上,首先建立星型模型。
一个典型的星型模型包括一个大型的事实表和一组逻辑上围绕这个事实表的维度表。事实表是星型模型的核心,事实表由主键和度量数据两部分组成。星型模型中各维度表主键的组合构成事实表的主键。事实表中存放的大量数据,是同主题密切相关的、用户最关心的度量数据。维度是观察事实、分析主题的角度。维度表的集合是构建数据仓库数据模式的关键。维度表通过主键与事实表相连。用户依赖维表中的维度属性,从事实表中获取支持决策的数据。
现通过一个具体实例——星级酒店经营数据仓库(集市),分析星型数据模型的结构和建立。
星级酒店最需要关注客户的消费情况。在星级酒店经营数据集市星型数据模型中,基础事实表中需要记载的是客人最低粒度的消费事实。即:用何种促销手段使某位客人在某个时间进行了何种形式的消费,消费金额产多少。因此,在事实表中,要准确记载每位客人的消费形式、消费价格、促销方式、促销折扣、消费金额、成本,利润等度量数据。
围绕经营主题,星级酒店经营数据集市有以下典型的维度及其属性:
客户维:在客户维中,需要建立客户的基本信息。为决策分析需要,把客户分为常住客户和流动客户。
消费项目维:经营星级酒店,要向客人提供高质量的消费,消费项目多种多样。把经常性的消费项目归纳为:客房、餐饮、娱乐、其他等四类。每类消费都有消费内容的细节描述。
时间维:在数据仓库的多维数据结构中,时间维往往是不可少的一个维度。因为每项“销售事实”都是在一定的时间1或者时间段内发生。针对需求,时间维采用时、日、月、年四个属性。
促销维:行业的竞争,使各酒店都采用了形形色色的促销方式。促销增加了了营业额,但同时也增加了运营成本。促销的形式和效果,对管理者的决策具有重要价值。在促销维中描述了几种典型的促销方式:广告、打折、中介、联营等作为维度属性。根据决策需求,建立星级酒店经营数据集市星型数据模型,如图1所示。星型模型为演变生成雪花数据模型奠定了基础。
图1 星级酒店经营数据集市星型模型