日期:2014-05-17  浏览次数:20427 次

BI的数据仓库的设计问题的一些基础概念问题。
比如有个销售明细表,和商品表。

tDimItem(ItemID,Name)

tFactSell(dSell,ItemID)

商品表是维度表,销售明细表是事实表。

但维度表可能会产生变化,比如名称被更改了,在现有数据库上删除了某条商品信息。

这部分怎么设计才比较科学?

还有一个是关于BIDS的使用问题。如果数据仓库的数据更新以后,点处理的话会更新多维数据集和维度。

数据量不小,几亿条,但增量的数据只有1000多条,现在是每次都是重新算。我想本身应该不是这么设计的。

应该怎么做呢?
------最佳解决方案--------------------
要想保留历史记录,包括维度表的历史名称,只能用渐变维度了~
如果名称修改后统一按新的名称,就好办多了,保留原来的键,更新显示名称而已

删除的商品信息也要看你要不要查看历史数据,如果需要还是要保留的,只是数据的状态变化了(参见渐变维度);

你说的增量数据是维度表么?维度表好像没有增量更新
如果是事实表,可以增量处理~

数据量大还可以对事实表分区处理~

对于大维度,现在好像还没有特别好的处理办法~

------其他解决方案--------------------
1、维度表中的数据也有可能更新,那么你要写一个触发器之类的,要时时将这个唯独表的变化更新到数据仓库中,然后当多维数据集在部署的时候就加载最新的数据。
2、你用增量更新的方式把,给你个参考:http://www.cnblogs.com/aspnetx/archive/2009/09/24/1573513.html
------其他解决方案--------------------
Slowly Changing Dimensions?
------其他解决方案--------------------
给你最实用的,把维度表设计成纵表,每一次进cube的时候根据这次用户的需求,用View转换成横表,这样你的维度可以有最高的可变性。

第2个问题,你改变无论多少数据,可能造成聚合和分区的改变,cube必须做process,因为他底层的存储方式跟你想的是不一样的。你可以改变方法ROLAP,MOLAP的结果是不同的。
------其他解决方案--------------------
该回复于2011-03-15 08:50:04被版主删除
------其他解决方案--------------------
该回复于2011-03-15 10:30:01被版主删除
------其他解决方案--------------------
该回复于2011-03-15 14:21:05被版主删除
------其他解决方案--------------------
该回复于2011-03-15 14:39:24被版主删除
------其他解决方案--------------------
引用:
要想保留历史记录,包括维度表的历史名称,只能用渐变维度了~
如果名称修改后统一按新的名称,就好办多了,保留原来的键,更新显示名称而已

删除的商品信息也要看你要不要查看历史数据,如果需要还是要保留的,只是数据的状态变化了(参见渐变维度);

你说的增量数据是维度表么?维度表好像没有增量更新
如果是事实表,可以增量处理~

数据量大还可以对事实表分区处理~

对于大维度,现在好像……

您知道 ssas的cube中如何使用渐变维吗?谢谢!! 
如果您有这方面的资料麻烦发我一份。
emmylee001@126.com
------其他解决方案--------------------



学习..