先引用一个网友的话语:
一般数据库根据存储类型,分为关系型数据库和多维数据库。
多维数据库是一套数据库管理系统,数据的存储方式是多维形式的。
在sql server中,analysis services就是多维数据库。
而多维数据集应该是以多维方式表示的数据的集合。
在analysis services中有多维数据集的,就是Cube。
在明确一点,多维数据库是一套数据库管理系统,
而多维数据集是数据库中的一套多维数据。
接着我们继续来了解
多维数据集是立方体存储的,多维数据集分为度量值和维度,度量值是用于统计用的数据,维度就是从哪方面来统计数据。
比如说网站统计pv,pv就是度量值,如果我再想看从广州登录网站来的pv是多少,我就要从广州这个条件来计算pv,广州就是维度。既然数据是立方存储的,那每条边就是维度,然后立方体里面就是数据(度量值),维度越多,边就越多。
继续接上头pv的例子
网站总体访问量pv
从广州地区访问的网站访问量pv
从搜索引擎进来访问的网站访问量pv
这里如果是用普通数据库表来存储此二维数据,表结构应该为
日期 |
区域 |
搜索引擎 |
Pv |
2011-02-14 |
广州 |
Baidu |
100 |
2011-02-14 |
深圳 |
Baidu |
200 |
2011-02-14 |
杭州 |
|
300 |
2011-02-14 |
广州 |
|
400 |
2011-02-14 |
广州 |
|
500 |
2011-02-14 |
深圳 |
|
200 |
2011-02-14 |
杭州 |
|
300 |
2011-02-14 |
|
Baidu |
300 |
2011-02-14 |
|
|
300 |
这里可以认为是n*m的关系,3*3 = 9列
如果是多维数据集,应该怎么存储呢?这里我仅仅凭个人理解画了一个图
图跟数值对不上,没画出效果,明天继续。
引用了:http://bbs.51cto.com/thread-441787-1.html