数仓建模之声明粒度 一文读懂什么是粒度 看完保证通透!

声明粒度

粒度是说明事实表的每一行表示什么,比如:用户下单的内容放到订单事实表的每一行中 这里的关键是粒度的描述 不能将维度列出来 而代替粒度声明 这一步特别容易被忽略 粒度声明需要达到共识 否则极有可能到下面三四步后返工重来

1 确定数据粒度的基本准则

数据粒度是指数据仓库中保存数据的细化或综合程度。数据仓库中包含大量数据表,这些数据表中的数据以什么粒度来存储,会对信息系统的多方面产生影响。在做 数据仓库设计时,设计者确定以数据的什么层次作为粒度的划分标准,将直接影响到数据仓库中数据的存储量及查询质量,并进一步影响到系统是否能满足最终用户 的分析需求。一般情况下,根据数据粒度划分标准可以将数据仓库中的数据划分为:详细数据、轻度总结、高度总结三级或更多级。在确定数据粒度时,应注意的一 条原则是:细化程度越高,粒度越小;细化程度越低,粒度越大。确定数据粒度是数据仓库设计的基础,当数据粒度合理确定后,设计和实现的其他问题就会变得非 常容易,相反,如果没有合理地确定粒度,后续的工作就会很难进行下去。

2.粒度分类

粒度问题是设计数据仓库的一个重要方面粒度是指数据仓库的数据单位中保存数据的细化或综合程度的级别。细节程度越高,粒度级别就越低。因此根据粒度数据仓库设计分为低粒度高细节、高粒度低细节、双粒度(两者共存,根据不同业务不同客户设计)。如下:

 

而要如何选择是低粒度还是高粒度呢?

数据量总是数据仓库中的首要问题,如果数据仓库的空间很有限的话,用高粒度级表示数据将比用低粒度级表示数据的效率要高得多。高粒度级不仅只需要少得多的字节存放数据,而且只需要较少的索引项。然而数据量大小和原始空间问题不是仅有的应考虑的问题。为了访问大量数据,其处理能力的大小同样也是应考虑的一个因素。所以,在数据仓库中数据压缩非常有用。当数据被压缩后就大大节省所用的存储设备的存储空间,节省所需的索引项,以及节省处理数据的处理器资源。但是,当提高数据粒度级时,数据压缩就会带来另一个问题:数据所能回答查询的能力就会随之降低。换句话说,在一个很低的粒度级上实际可以回答任何问题,但在高粒度级上,数据所能处理的问题的数量是有限的总结一句话:高粒度查询快,而低粒度可以解决的问题比较多。

在一个DSS(决策支持系统)环境中查询总体性的问题比查询单个事件要常见的多,它既可以在高粒度级上也可以在低粒度级上得到回答,在不同的粒度级上所使用的资源具有很大的差异。在低粒度级需要查询每一条记录,所以需要大量的资源来回答这个问题。但在高粒度级上,数据进行了很大的压缩,只需要查询很少的记录就能得到一个答案。如果在高粒度级上包括了足够的细节,则使用高粒度级数据的效率将会高的多。因此,在确定粒度级别时,应注意的一条原则是:细化程度越高,粒度越小;细化程度越低,粒度越大。确定数据粒度是数据仓库设计的基础,当数据粒度合理确定后,设计和实现的其他问题就会变得非常容易。相反,如果没有合理地确定粒度,后续的工作就会很难进行下去。在设计和构造数据仓库之初就必须仔细考虑这种权衡。

双粒度-双重级别

很多时候,用户十分需要提高存储与访问数据的效率,以及非常详细地分析数据的能力。当一个企业或组织的数据仓库中拥有大量数据时,在数据仓库的细节部分考虑双重(或多重)粒度级是很有必要的。图3表明了一家电话公司在数据仓库的细节级上的两种粒度级。

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值