刚学理论知识,就迫不及待的开始建数据仓库,建维度表。
1,挑了一个网络培训过程作为主题
2,粒度确定为某人某天参加某次网络培训
3,需要用到维度(会员,课程,日期等)
首先处理会员维度,突然发现一大堆外键表跟会员表关联,受到常规数据库设计的影响,直接二话不说,3级范式,开工……
由于牵涉到区域信息(区域,省份,城市,区号,邮编),满四处找,然后根据这些来修正源数据里的不规范信息。
日期维度就从网上找了一个修改了一下……
维度建完了,也用存储过程加载完历史数据了,看着关系图,靠,这就是传说中的雪花图……
一个如此的小主题竟然包含了15个维度表
一个查询要join15次之多,查询速度跟操作型数据库没多大区别,没有体现数据仓库的优势来,这不是我想要的。
回炉,继续看书,这次算是有经验,有针对性地看了。
重新翻阅以前的书,感受不一样,很多地方豁然开朗。
看到维度建模指南上有很多维度直接合并,冗余,减少连接次数,相对事实表来说,维度表的一点冗余是微不足道的。