数据仓库的多维数据模型

 

可能很多人理解的数据仓库就是基于多维数据模型构建,用于OLAP的数据平台,通过上一篇文章——数据仓库的基本架构,我们已经看到数据仓库的应用可能远不止这些。但不得不承认多维数据模型是数据仓库的一大特点,也是数据仓库应用和实现的一个重要的方面,通过在数据的组织和存储上的优化,使其更适用于分析型的数据查询和获取。

多维数据模型的定义和作用

多维数据模型是为了满足用户从多角度多层次进行数据查询和分析的需要而建立起来的基于事实和维的数据库模型,其基本的应用是为了实现OLAP(Online Analytical Processing)。

当然,通过多维数据模型的数据展示、查询和获取就是其作用的展现,但其真的作用的实现在于,通过数据仓库可以根据不同的数据需求建立起各类多维模型,并组成数据集市开放给不同的用户群体使用,也就是根据需求定制的各类数据商品摆放在数据集市中供不同的数据消费者进行采购。

多维数据模型实例

在看实例前,这里需要先了解两个概念:事实表和维表。事实表是用来记录具体事件的,包含了每个事件的具体要素,以及具体发生的事情;维表则是对事实表中事件的要素的描述信息。比如一个事件会包含时间、地点、人物、事件,事实表记录了整个事件的信息,但对时间、地点和人物等要素只记录了一些关键标记,比如事件的主角叫“Michael”,那么Michael到底“长什么样”,就需要到相应的维表里面去查询“Michael”的具体描述信息了。基于事实表和维表就可以构建出多种多维模型,包括星形模型、雪花模型和星座模型。这里不再展开了,解释概念真的很麻烦,而且基于我的理解的描述不一定所有人都能明白,还是直接上实例吧:

这是一个最简单的星形模型的实例。事实表里面主要包含两方面的信息:维和度量,维的具体描述信息记录在维表,事实表中的维属性只是一个关联到维表的键,并不记录具体信息;度量一般都会记录事件的相应数值,比如这里的产品的销售数量、销售额等。维表中的信息一般是可以分层的,比如时间维的年月日、地域维的省市县等,这类分层的信息就是为了满足事实表中的度量可以在不同的粒度上完成聚合,比如2010年商品的销售额,来自上海市的销售额等。

还有一点需要注意的是,维表的信息更新频率不高或者保持相对的稳定,例如一个已经建立的十年的时间维在短期是不需要更新的,地域维也是;但是事实表中的数据会不断地更新或增加,因为事件一直在不断地发生,用户在不断地购买商品、接受服务。

多维数据模型的优缺点

这里所说的多维模型是指基于关系数据库的多维数据模型,其与传统的关系模型相比有着自身的优缺点。

优点:

多维数据模型最大的优点就是其基于分析优化的数据组织和存储模式。举个简单的例子,电子商务网站的操作数据库中记录的可能是某个时间点,某个用户购买了某个商品,并寄送到某个具体的地址的这种记录的集合,于是我们无法马上获取2010年的7月份到底有多少用户购买了商品,或者2010年的7月份有多少的浙江省用户购买了商品?但是在基于多维模型的基础上,此类查询就变得简单了,只要在时间维上将数据聚合到2010年的7月份,同时在地域维上将数据聚合到浙江省的粒度就可以实现,这个就是OLAP的概念,之后会有相关的文章进行介绍。

缺点:

多维模型的缺点就是与关系模型相比其灵活性不够,一旦模型构建就很难进行更改。比如一个订单的事实,其中用户可能购买了多种商品,包括了时间、用户维和商品数量、总价等度量,对于关系模型而言如果我们进而需要区分订单中包含了哪些商品,我们只需要另外再建一张表记录订单号和商品的对应关系即可,但在多维模型里面一旦事实表构建起来后,我们无法将事实表中的一条订单记录再进行拆分,于是无法建立以一个新的维度——产品维,只能另外再建个以产品为主题的事实表。

所以,在建立多维模型之前,我们一般会根据需求首先详细的设计模型,应该包含哪些维和度量,应该让数据保持在哪个粒度上才能满足用户的分析需求。  

本文作者:joeghwu

来源:51CTO

时间: 2024-11-10 00:11:22

数据仓库的多维数据模型的相关文章

三个例子,让你看懂数据仓库多维数据模型的设计

一.概述 多维数据模型是最流行的数据仓库的数据模型,多维数据模型最典型的数据模式包括星型模式.雪花模式和事实星座模式,本文以实例方式展示三者的模式和区别. 二.星型模式(star schema) 星型模式的核心是一个大的中心表(事实表),一组小的附属表(维表).星型模式示例如下所示:   三.雪花模式(snowflake schema) 雪花模式是星型模式的扩展,其中某些维表被规范化,进一步分解到附加表(维表)中.雪花模式示例如下图所示: 从图中我们可以看到地址表被进一步细分出了城市(city)

多维数据模型

一.概述 多维数据模型是最流行的数据仓库的数据模型,多维数据模型最典型的数据模式包括星型模式.雪花模式和事实星座模式,本文以实例方式展示三者的模式和区别. 二.星型模式(star schema) 星型模式的核心是一个大的中心表(事实表),一组小的附属表(维表).星型模式示例如下所示:   三.雪花模式(snowflake schema) 雪花模式是星型模式的扩展,其中某些维表被规范化,进一步分解到附加表(维表)中.雪花模式示例如下图所示: 从图中我们可以看到地址表被进一步细分出了城市(city)

大数据环境下的多维分析技术

之前我们有一篇文章< 一文读懂多维分析技术(OLAP)的进化过程 >为大家介绍了多维分析技术(即联机分析处理(On-Line Analytical Processing),简称OLAP)的前世今生及发展方向.正是由于多维分析技术在业务分析系统的核心功能中的不可替代性,随着商业智能系统的深入应用,分析系统的数据量呈指数级增长,原有依赖硬盘IO处理性能(包括传统数据库.多维立方体文件)的多维分析技术遭遇到性能瓶颈.与此同时,随着服务器内存价格的下降,一种新的基于内存的OLAP技术架构出现了.这种新

如何构建银行数据仓库

数据 如何构建银行数据仓库河南省邓州市新华东路11号市人行 宋玉长 数据仓库技术作为一项数据管理领域的新技术,其精髓在于针对联机分析处理(OLAP)提出了一种综合的解决方案,与以往很多技术不同的是,它主要是一种概念,在此概念指导下完成系统的构造.既没有可以直接购买到的现成产品,也没有具体的分析规范和实现方法,也就是说没有成熟.可靠且被广泛接受的数据仓库标准.在以往关系数据库的设计和实现中,不仅有详细的理论推导,还有无数的设计实例,无论你使用的是什么公司的数据库产品.开发工具,只要按照规范做,那么

数据仓库指南

数据  数据仓库学习心得 一.概念 1.数据仓库:是指面向主题的,一致的,不同时间的,稳定的数据集合,用于支持经营管理中的决策支持过程.从广义上讲数据仓库是指存储大量历史数据的数据库.每一个记录代表特殊时间点上的一个数据. 它是一种把收集的各种数据转变成有商业价值的信息技术,并把收集的信息体现在报告中.包括收集数据,过滤数据,存储数据,之后把数据应用于分析.报告等应用程序. 2.数据仓库目标:确认数据结构,寻找趋势,辅助决策,为经营管理提供决策信息. 3..DSS:决策支持过程. 4.数据仓库组

创业公司做数据分析(六)数据仓库的建设

作为系列文章的第六篇,本文将重点探讨数据处理层中数据仓库的建设.在第二篇运营数据系统一文,有提到早期的数据服务中存在不少问题,虽然在做运营Dashboard系统时,对后台数据服务进行了梳理,构建了数据处理的底层公共库等,但是仍然存在一些问题: 中间数据流失,计算结果没有共享.比如在很多数据报告中都会对同一个功能进行数据提取.分析,但是都是各自处理一遍,没有对结果进行共享. 数据分散在多个数据源,如MySQL.MongoDB.Elasticsearch,很难对多个源的数据进行联合使用.有效组织.

创业公司如何做数据分析(六)数据仓库的建设

作为系列文章的第六篇,本文将重点探讨数据处理层中数据仓库的建设.在第二篇运营数据系统一文,有提到早期的数据服务中存在不少问题,虽然在做运营Dashboard系统时,对后台数据服务进行了梳理,构建了数据处理的底层公共库等,但是仍然存在一些问题: 中间数据流失,计算结果没有共享.比如在很多数据报告中都会对同一个功能进行数据提取.分析,但是都是各自处理一遍,没有对结果进行共享. 数据分散在多个数据源,如MySQL.MongoDB.Elasticsearch,很难对多个源的数据进行联合使用.有效组织.

数据仓库的一些理解(原创)

概述 数据仓库概念创始人W.H.Inmon在<建立数据仓库>一书中对数据仓库的定义是:数据仓库就是面向主题的.集成的.相对稳定的.随时间不断变化(不同时间)的数据集合,用以支持经营管理中的决策制定过程.数据仓库中的数据面向主题,与传统数据库面向应用相对应. 主题导向(Subject-Oriented) 主题是一个在较高层次上将数据归类的标准,每一个主题对应一个宏观的分析领域.有别于一般OLTP系统,数据仓库的资料模型设计,着重将资料按其意义归类至相同的主题区(subject area),因此称

聊一聊数据仓库中的元数据管理系统

相信很多朋友都是第一次听说元数据管理系统这个名词,当然,从事非数据仓库工作的人,很少会接触到这个系统,即使是正在从事这方面工作的朋友,可能仍然对它不是很了解,那么今天我来聊一聊元数据管理系统.本文大部分观点与图片汇总字网络,如有不同观点,欢迎留言交流-- . 一.元数据的定义 按照传统的定义,元数据(Metadata)是关于数据的数据.在数据仓库系统中,元数据可以帮助数据仓库管理员和数据仓库的开发人员非常方便地找到他们所关心的数据:元数据是描述数据仓库内数据的结构和建立方法的数据,可将其按用途的