zoukankan      html  css  js  c++  java
  • 数据粒度的设计

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

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

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

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

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

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

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

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

    总结一下:

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

    态度决定行为,行为决定习惯,习惯决定性格,性格决定命运
  • 相关阅读:
    angular js 多处获取ajax数据的方法
    回调函数(在原生ajax中应用) 事件监听 与promise的应用介绍
    AngularJS Scope(作用域)
    angular js 模型 (ng-model指令)
    angular js 指令 ng-model与 no-repeat的使用 ng-各种指令 创建自定义指令 限制使用指令 restrict的不同取值
    Ka的回溯编程练习 Part2|八皇后问题和N皇后问题
    Ka的回溯编程练习 Part1|整划什么的。。
    Ka的递归编程练习 Final.Part8|回溯前传二|排列组合
    Ka的递归编程练习 Part7|回溯前传一|素数环!
    Ka的递归编程练习 Part6|简单背包问题,拒绝动规从我做起
  • 原文地址:https://www.cnblogs.com/neversayno/p/5137055.html
Copyright © 2011-2022 走看看