先引用一个网友的话语:
一般数据库根据存储类型,分为关系型数据库和多维数据库。
多维数据库是一套数据库管理系统,数据的存储方式是多维形式的。
在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