立方) 概念与原理"/>
Datacube(数据立方) 概念与原理
Datacube是一个多维数据存储模型,是一个逻辑上的概念.
为了满足用户从多角度多层次进行数据查询和分析的需要而建立起来的基于事实和维的数据库模型,其基本的应用是为了实现OLAP(Online Analytical Processing)
以分析一个网站的访客数据为例, 解释相关概念.
事实表 fact table
事实表 是一个要被分析的过程或事件. 例如在访客分析中, 关心的数据可能包括
- 浏览器信息(型号,语言,操作系统,分辨率等)
- 访客ip信息(IP地址,地区,运营商等)
- 访问开始的时间信息(年月日,时分秒)
- 浏览页面(时间,标题,url等)
- 访问的持续事件
- 访问的页面数量
我们当然可以把所有这些信息放在一个表里,但最终将得到一个宽表. 因此我们选择抽象出一些[维度 dimension]出来.
所以对于[访客信息]这一分析过程, 我们得到如下正则化之后的表,称为[事实表].
事实表的维度设计一般是正则化(normalized)的.正则化是什么意思呢,可以回顾一下线性代数中正交的概念,也就是各个维度之间是没有相关性的. web_browser_key 里的信息和ip_address_key里的信息是没有关联的, 就像立方体的xyz轴一样,x取几,跟yz没有任何关系.
web_browser_key bigint
ip_address_key bigint
start_date_key int
referring_page_key bigint
duration_seconds int
number_of_pages_visited int
维度(demension)和指标(measure)
根据事实表中的字段是最终的信息, 区分为维度和
更多推荐
Datacube(数据立方) 概念与原理
发布评论