充值信息

赞助信息

推荐给好友 上一篇 | 下一篇

谈维表动态描述的应用



一般建维表会考虑其变化维等建模技术问题,往往在有特定需求时,会忽略在建模技术上考虑途径,而是临时想出一些办法去处理,造成数据仓库架构不稳定性,难以管理和维护。

那么何为维表动态描述,它的在什么情况下才更有用,怎么用,和临时处理办法有何优势?

动态描述,就是需要经常更新的描述,它不同于变化维,只是更新维记录的某些描述,很多时候是定期更新,但其key健在当前还继续有效,没有变化。

一般在有特殊BI需求的时候,才会有这种应用,普通BI应用,不需要动态的描述。这种特殊应用主要包括事实表里不确定维描述的统计,如日期维里,今天是2008-05-29,对于2008-04-24是今天之前五周的日期,那么2008-04-24该天的last_week_5(4周之前的标志)为"Y",2008-04-25的last_week_5的标志为"N",但昨天该日期的该标志还是“Y”。该维描述是处理一个到多个事实表的度量需要统计从当前日期起,之前1周到5周任意某周的统计数据。

这里只是一个假定的一个需求,还有很多类似的,甚至更复杂的统计需求可以考虑此法。只有有的更加动态的需求,比如任意输入日期,就要统计该日期之前某些周、某些月、季度等统计数据,那么可以依次逻辑类推,在前端工具使用此算法,或者使用其他临时存储手段实现。

如果相比临时的处理办法,比如在事实表里直接算、汇总表里直接算、或者使用临时表,这种办法更为合理和科学,因为维表,特别是企业级维表一旦算出维的描述后,可以被广泛的反复地使用,且对整个数据仓库影响不大。如果在事实表、临时表去处理,数据仓库变化就可能较大,今天这个事实表需要这样算,明天另外一个事实表也可能需要,不同粒度的统计也可能需要,而且大的事实表每次计算需要消耗很多时间,这种度量需求一旦多起来,太多字段会使事实表过早臃肿,而临时表更不能有效地进行数据和信息的存储和管理。

维表的描述字段并非就不用在事实表上了,当在数据展现的时候,各个粒度的事实表都可以和该维表关联,轻松计算出相关的度量,在不同场合下使用。

动态描述一般多是标志性字段,而静态描述一般是固定的定义,比如2008-05-29就是星期四,就是2008年,就是5月,这种描述不可能变化。

作者blog:www.chinabi.net/blog/user1/innovate511/index.html




 

评分:0

我来说两句