数据粒度的设计

计算机领域中粒度指系统内存扩展增量的最小值.
粒度问题是设计数据仓库的一个最重要方面。粒度是指数据仓库的数据单位中保存数据的细化或综合程度的级别。细化程度越高,粒度级就越小;相反,细化程度越低,粒度级就越大。数据的粒度一直是一个设计问题。
在早期建立的操作型系统中,粒度是用于访问授权的。当详细的数据被更新时,几乎总是把它存放在最低粒度级上。但在数据仓库环境中,对粒度不作假设。
在数据仓库环境中粒度之所以是主要的设计问题,是因为它深深地影响存放在数据仓库中的数据量的大小,同时影响数据仓库所能回答的查询类型。在数据仓库中的数据量大小与查询的详细程度之间要作出权衡

================================================================================================================

从时间的角度讲:简单说粒度就是事实表里测量值的测量‘频率’。比如说,销售库里的销售额,可以是一 天一个值,也可以是一个月一个值,甚至一年一个值,这就是相对于时间维度表的力度;可以是一个商品一个值,也可以是一类商品一个值,这就是相对于商品的粒度。

粒度就是同一维度下,数据的粗细程度;
考虑到时间维度在数据仓库中相对比较特殊,另外举个例子。

以“组织结构”为例,比如我们的一个层级结构式:总公司,分公司,部门,科室。
这就是不同的粒度级别。

实际应用中,比如有人问,你的某个报表粒度是怎样的。
我们可以说,组织结构我们的报表呈现是到分公司级别的,但是我们的数据粒度是到科室的(也就是你的事实表中,层级聚合到科室级别)。
所以我们就也能支持到之上的“粗”粒度,如总公司,分公司,及部门

如果我们的数据粒度是到分公司的,那明显我们的报表就不能支持下级粒度的数据展现。
也就是说,粒度不够“细”。

当然,粒度的也不是越细越好,要综合分析。
比如如果我们这一层级的需求,都是针对于分公司级别的,不需要往其下级部门的深化。那么粒度就到分公司即可。
毕竟粒度越细,事实表的数据量也会越大。

总结一下:

可以将数据看成是有粘性的沙粒,粒度小的沙粒比较细,粒度大的沙粒是由粒度小的沙粒粘起来的,即粒度高的数据是由粒度低的数据综合起来的.在数据仓库环境 中,粒度是一个重要的设计问题,他影响到数据仓库的数据量和系统能回答的查询类型,粒度越小,细节程度越高,能回答查询就越多,但是存储的东西也就越多.

态度决定行为,行为决定习惯,习惯决定性格,性格决定命运
原文地址:https://www.cnblogs.com/neversayno/p/5137055.html