解耦-大宽表
来源:互联网 发布:卡秋莎软件 编辑:程序博客网 时间:2024/06/08 00:21
数据仓库应用中,宽表模型以结构简单,模型容易理解,数据访问效率等优势,被业界广泛采用。所谓宽表就是,基于某个实体分析对象而建立的一个逻辑数据体系,由实体的维度、描述信息、以及基于这个实体一系列度量组成。它是一个逻辑的概念,在物理实现中不可能就针对一个实体对象建立一个大宽表。因为这样,对于,刷新效率,容错能力,扩展能力都是一个很大的挑战,如何设计和组织宽表的体系结构呢?
其实,我们回到软件设计的基本思想-高内聚,低耦合。我们要从在业务、ETL刷新、指标属性、数据来源等角度,让高度内聚的属性、描述、度量放在一个表中。基本可以从两个维度矩阵进行切割:
第一:按实体属性可能涉及的业务范围进行划分
第二:按业务指标的历史周期属性进行划分,在历史周期上我们可以分为以下几类:
1、当前用户的基本属性和维度,数据相对静态,修改较少。统计的集合包括所有实体对象。
2、用户在统计日发生的行为度量指标。这类数据可以根据行为的增量数据就是,统计集合仅仅是当前统计日发生过行为的实体对象。
3、用户在最近一个周期内的度量指标累计,它由统计日发生的行为度量指标在历史上聚合而成。可以根据业务需要可以就是自然月,自然周。或是最近周、最近月移动聚合数据。它统计的集合是最近一段时间内发生过行为的实体对象。
4、根据用户历史行为而衍生出的度量维度以及用户当前存量类指标(比如余额,总的产品数,当前总的帐户数)比如第一行为的时间,最后一次行为的时间,统计的集合包括所有发生过一次行为的实体对象。
阅读全文
0 0
- 解耦-大宽表
- 解耦
- 解耦
- 解耦
- 趣谈“解耦”
- UIButtion解耦
- Mvp解耦
- [草稿]VSP解耦
- 感悟--消冗,解耦
- struts2与Servlet解耦
- java_jdbc_3层 解耦
- Struts2与Servlet解耦
- 架构,设计,解耦
- 三层架构问题----解耦
- 使用trigger解耦
- iOS TableView解耦
- 编程思想-解耦
- 与Servlet API解耦
- Java开发中的23种设计模式
- Android源码编译(一)环境配置,下载源码
- 在Hadoop上运行python程序错误集合
- 第1篇 初级排序算法
- 杂记:jenkins中用到的一些lunix命令
- 解耦-大宽表
- 预习Dom4J之:把XML输出到Java控制台
- android中延迟执行某个任务
- java DES加密
- window下spacemacs找不到init.el文件的解决方法
- 矩阵覆盖
- 我与插值萍水相逢续(1): 双线性插值(Bilinear Interpolation)原理及使用
- layui--一个不错的页面插件框架
- 非主体结构元素 3