发布网友 发布时间:2022-04-24 09:06
共1个回答
热心网友 时间:2022-05-04 20:09
说点个人理解,书上的东西永远是怎么把你绕晕怎么写。(不然怎么显示他牛X)
(1)颗粒度(现在只要是建立数据仓库,基本上都会这么说,但实际上就不好说了):数据库一般就是按照这个进行分层的,所谓颗粒度就是数据的细化程度。
一般我们认为最初进来的数据是颗粒度最小的。因为这部分数据基本上是没办法继续拆分的,当然如果最初进来的数据可以继续拆分,那就说明你数据仓库的数据传输接口有问题,数据仓库是一个理论上可以做任何相关查询的数据结构,如果不能做到这一点,那这个数据仓库没有任何意义。
然后这部分数据经过一定的组合,排列、计算等等组成了一个一个的更大颗粒度的数据(下面会举例说明),然后更大颗粒度的数据继续组合,一直循环,并最终展示出来。
用我们的手机通话时间(这里只考虑某号码的通话时间长短,不考虑其他,仅为举例,勿带入现实)举例:某号码每次通话时间(最小颗粒度,也是入库的内容)--某号码每天通话时间(一天可能通话3次,每天的的通话时间就是这三次的和)--每月通话时间(更大颗粒度,一个月的)--每年通话时间--通话总时间
注意:再提醒一下,我给的颗粒度一定不对,仅为说明,不要带入现实应用。
当然中间可能还有每周,每季度等等,然后可以通过这些内容去进行分析,比如一个人每月通话都在12小时以上,突然开始减少或者一直在下跌,那么就说明可能出现什么问题等等。这就需要经营分析,建立数据模型去分析了,这也是数据仓库最大的作用。
(2)人为分层(类似于所谓的拍脑袋决定),虽然上面的颗粒度也算是人为分层,但是好在每个层级的颗粒度都是一样的,当然,并不是每级只放一个颗粒度,某些颗粒度是放在一个级别的,但是还算有一个规则。这种人为分层则是没有规则,大部分是以数据“有用没用”来分层,“有用”的层级就高,“没用的”层级就低,然后没用的数据有用了,或者有用的数据没用了,就再折腾。看起来似乎很灵活,但是整个数据仓库会变得杂乱无章。当然,所谓的数据仓库也是数据库,最终落到一张一张的table上,看起来似乎没什么问题,但是管理起来是真的累啊。
其实还有一些分层方法,比如按流程、按“公司层级”等等,不过这些基本都不怎么主流,上面两种最多,如果碰到真的是第一种的,那就比较正规,如果是第二种,就自求多福吧。