转自:http://articles.e-works.net.cn/BI/Article61872.htm

数据分析在决策支持及趋势分析中发挥着重要的作用。通常数据仓库中包含大量数据表,如何在软硬件资源确定的情况下,正确划分数据粒度,确保数据满足客户的决策分析需求,成了数据仓库逻辑设计的一个重要方面。

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

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

2 数据粒度划分基本方法

    在数据仓库逻辑设计过程中如何确定数据粒度,目前还没有一个精确度量的方法,设计者应将考虑的重点放在数据仓库中数据的存储量大小及数据是否满足最终客户 需求上。下面以笔者参与的证券行业数据仓库设计过程中数据粒度划分为例,来说明数据粒度准则在实际工作中如何应用。

证券行业属于数据密集型企业,在日常的工作中积累了大量交易、财务、财经数据。这些海量的数据长期处于无价值状态,如何充分利用这些数据,从这些数据中发 现有价值的信息呢?建立数据仓库是证券公司一个不错的选择。利用数据仓库提供的强大数据分析能力,能使证券公司在提升客户服务、提高资产质量、降低成本上 起到非常重要的作用。数据仓库具有面向主题的、集成的、相对稳定的、非易失性等特点。那么,证券行业数据仓库中数据粒度如何确定呢?首先是数据存储量的估 算,在这里我们不可能知道精确的存储量,但可采用粗略估算的方法来估算数据仓库中将要使用到的DASD(直接存取存储设备)数量。面对数据仓库中确定的各 主题域,设计者要建立若干事实表,对每一个表中可能存储的最多和最少数据进行估算是估算DASD的第一步。在估算过程中我们同样不可能知道每个表的精确行 数,这里可以以数量级为估算单位初步估计行数的上下限。对于未来数据量变化趋势,则只能以市场变化情况为依据来估算数据量的变化情况。例如证券行业,可以 根据过去若干年的客户变化情况,估计未来一年内客户数量的变化,进而估计5~10年的变化情况(注意要估算最多和最少的情况)。对每个事实表进行如上估算 后,结合估算事实表的索引项大小,可以计算出最大、最小的DASD数。笔者参与的证券行业数据仓库系统以Oracle作为DBMS,得到数据量估算表(见 表1)。

表1 数据量估算表

从表1我们得到了DASD的最大最小估算数据和行数的最大最小估算值,紧接着就是确定数据粒度了。这时可以参照行业经验值来确定是否需要双重或多重粒度, 但不管经验值如何,笔者认为除非是轻量级的数据仓库,一般均需要双重粒度,大多数情况下数据仓库需要多重粒度。表2是行业经验值。

表2 数据粒度经验值

通过以上两个步骤,我们对数据仓库设计有一个初步认识,下面是如何确定数据粒度级别。如果数据仓库只需要单一粒度,则数据粒度的级别就没有很高的讨论价 值,所以笔者认为数据粒度级别是针对多重粒度而言出现的一个概念。什么是数据粒度级别?笔者参考了大量数据仓库书籍,对数据粒度级别均没有明确的定义。笔 者认为数据粒度级别应该着重分析“级别”二字,其分析的对象是主题领域中某个确定的“维度”。例如对客户交易在时间维度上进行分析,那么就可以将数据粒度 级别理解为:你准备在时间维上按什么标准来对数据进行处理。对于双重粒度和多重粒度的级别设计问题,没有一个特别可行的方法来指导我们设计,唯一可行的办 法是采用猜测方法。在做数据仓库设计时,你无法得到精确的需求,对DSS分析员来说,只有你拿出了具体的设计方案后,他们才能将有用的信息反馈给你,所以 猜测法的出发点是DSS分析员的大概需求和你的实际经验。总的来说,针对特定的主题域、特定的维度到底在何种级别上建立汇总数据,要根据项目大小来做决 定,在太低细节级数据上建立汇总会使该汇总没有任何实际意义,处理数据时将消耗大量资源;在太高细节级上建立汇总数据将会使处理时过多依赖真实档案。笔者 在设计证券行业数据仓库时,粒度级别是这样确定的:如果要对客户交易行为分析,可以确定如下分析维度,交易方式(现场、非现场)、交易手段(互联网、电 话、热键、刷卡)、交易时间等等。现在DSS分析员要对客户的交易手段进行分析,在设计数据仓库时,多重粒度的设计是毫无疑问的了,那么数据粒度级别如何 确定呢? 你在时间维上按什么来汇总数据确保DSS分析员做分析时能得到他们需要的数据呢?首先考虑的是在详细数据的基础上以较低级别来汇总数据(如以交易日为单 位),那么做年度数据分析时,系统必然要消耗很大资源;但如果在较高级别上汇总数据(以年为单位),则极有可能需要向下挖掘数据来分析其月或者日的数据。 因此,你唯一可行的办法是猜测,进而与DSS分析员交流来确定数据粒度级别。在这里,笔者采用三重粒度设计方案,数据仓库中包括详细数据、按月汇总数据、 按年汇总数据。经过上述几个步骤,基本符合要求的数据粒度已经确立,在最终确定以前必须与用户反复讨论,确定数据粒度划分是否符合所有主题域分析需求。

3 结束语

    选择合适的粒度级别是数据仓库建设好坏的重要关键内容。选择粒度级别的一般方法,是先利用常识建立数据仓库的一小部分,并让用户去访问这些数据;然后根据 系统运行情况及客户的反映,适当调整粒度的级别。在设计数据粒度时,通常需重点考虑以下因素:(1)要接受的分析类型、可接受的数据最低粒度和能存储的数 据量;(2)粒度的层次定义越高,就越不能在该仓库中进行更细致的分析;(3)在同一模式中使用多重粒度;(4)如果存储资源有一定的限制,就只能采用较 高粒度的数据粒度划分策;(5)粒度的确定实质上是业务决策分析、硬件、软件和数据仓库使用方法的一个折衷;(6)数据粒度划分策略一定要保证数据的粒度 确实能够满足用户的决策分析需要,这是数据粒度划分策略中最重要的一个准则。

数据仓库中的数据粒度相关推荐

  1. 数据仓库建设及数据治理总结

    在谈数仓之前,先来看下面几个问题: 数仓为什么要分层? 用空间换时间,通过大量的预处理来提升应用系统的用户体验(效率),因此数据仓库会存在大量冗余的数据:不分层的话,如果源业务系统的业务规则发生变化将 ...

  2. 聊一聊数据仓库中的元数据管理系统

    原文地址 一.元数据的定义 按照传统的定义,元数据(Metadata)是关于数据的数据.在数据仓库系统中,元数据可以帮助数据仓库管理员和数据仓库的开发人员非常方便地找到他们所关心的数据:元数据是描述数 ...

  3. 数据仓库中两种数据模型的分析比较

    来源:http://articles.e-works.net.cn/bi/article73172.htm 发表时间:2009-11-7 何秉姣 来源:万方数据 数据仓库(DH)和联机分析处理(OLA ...

  4. mysql 数据仓库 元数据_数据仓库中的元数据管理

    1. 引言 元数据是数据仓库中的一个重要组成部分,元数据管理系统则是构建,管理,维护和使用数据仓库系统的核心部件. 2. 基础知识 2.1 元数据的定义 元数据是指来自企业内外的所有物理数据和知识,包 ...

  5. 计算机三级数据库数据仓库与数据挖掘(一)、快照方式、元数据、数据仓库中数据特征、机器学习、聚类方法、分类算法、决策支持系统、表数据的粒度级、分布式数据库、

    1.在建立数据仓库的数据集成工作中,需要采用适当的策略从数据源获取变化数据.下列数据表中,一般情况下不适宜采用快照方式从业务系统获取数据的是 A.门店表.销售人员表 B.商品清单.商品类别表 C.顾客 ...

  6. 【DBMS 数据库管理系统】数据仓库中 数据追加 ( 时标方法 | DELTA 文件法 | 前后映像文件法 | 日志文件法 )

    文章目录 一.数据追加 概念 和 方法 二.时标方法 三.DELTA 文件法 四.前后映像文件法 五.日志文件法 一.数据追加 概念 和 方法 数据仓库 数据追加 : "数据追加" ...

  7. 浅谈数据仓库建设中的数据建模方法

    http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0803zhousb/ 所谓水无定势,兵无常法.不同的行业,有不同行 ...

  8. 数据仓库建设中的数据建模方法(转)

    简介: 本文的主要内容不是介绍现有的比较流行的主要行业的一些数据模型,而是将笔者在数据仓库建设项目中的一些经验,在这里分享给大家.希望帮助大家在数据仓库项目建设中总结出一套能够合乎目前业界规范的,满足 ...

  9. 数据增量更新定义_TiDB 在 OPPO 准实时数据仓库中的实践

    作者介绍 OPPO 数据分析与解决方案团队主要负责 OPPO 全集团的大数据分析和解决方案提供,团队成员多来自一线互联网公司及著名高校,在 OPPO 众多场景的大数据应用方面有很深经验,极大的支撑了业 ...

最新文章

  1. 在Windows Azure公有云环境部署企业应用
  2. python怎么用excel-python怎么操作Excel
  3. Leetcode 207. 课程表 解题思路及C++实现
  4. 武汉国家光电实验室计算机考研,2018年华中科技大学武汉国家光电实验室408计算机学科专业基础综合之计算机操作系统考研基础五套测试题...
  5. (转)Http协议经典详解
  6. 电路设计之干扰问题总结与分析
  7. 玩转oracle 11g(4):连接,文件操作,交互命令
  8. ThoughtWorks洞见领域驱动设计思维导图笔记
  9. shell读取文件并且遍历输出
  10. wiki——Isogeometric_analysis
  11. emacs org-mode 常用命令
  12. js动态显示时间和日期
  13. 2023上海大学电气工程及其自动化考研必看上岸经验指导
  14. ibm刀片服务器 维护,IBM刀片服务器 一刀搞定企业信息化
  15. 哪个邮箱域名好?域名是永久的吗?
  16. android 弹跳动画效果下载,SpringyFX-SpringyFX(MG弹跳动画制作AE脚本)下载 v1.1官方版--pc6下载站...
  17. 【JY】No.7.2力学架构迈达斯使用教程
  18. IDEA运行项目时停不下来
  19. ldc服务器销售,ldc云服务器源码
  20. linux下批量修改前缀,Linux 中批量修改后缀名

热门文章

  1. Dart | Flutter 中的异常处理框架 Talker
  2. Windows XP下如何实现共享上网
  3. Tomcat部署在Eclipse
  4. 什么是事件冒泡机制?
  5. Android开发集成高德定位SDK实现定位功能。
  6. BackTrack5 Note01
  7. c# u盘使用记录_C# 监测U盘插入与拔出事件
  8. 跨设备链路聚合 M-LAG配置案例
  9. 超实用的Excel自动排序小技巧,原来这么简单,早点知道就好了!
  10. 【Matlab】三次样条插值实现