理论篇~第三章 数据模型设计
来源:互联网 发布:centos修改ip地址 编辑:程序博客网 时间:2024/06/04 01:16
常见数据模型介绍
1 ER模型
数据仓库之父Bill Inmon提出的建模方法,是从全企业的高度设计一个3NF模型,用实体关系(Entity Relationship,ER)模型描述企业业务。其具有以下几个特点:
- 需要全面了解企业业务和数据
- 实施周期非常长
- 对建模型人员要求非常高
采用ER模型建设数据仓库的出发点是基于整合数据,将各个系统的数据以企业角度按主题进行组合和合并,并进行一致性处理,为数据分析决策服务,但是并不能直接用于分析决策。其建模步骤分为三个阶段:
- 高层模型:一个高度抽象的模型,描述主题与主题之间的关系,用于描述企业的业务总体概况。
- 中层模型:在高层模型的基础上,细化主题的数据项。
- 物理模型:在中层模型的基础上,考虑物理存储,同时基于性能和平台特点进行物理属性的设计,也可能做一些表的合并、分区表的设计等。
2 维度模型
维度模型是数据仓库的Ralph Kimball大师所倡导的,也是数据仓库工程领域最流行 模型。维度建模是从分析决策的需求出发构建模型,为分析需求服务,因此它重点关注用户如何更快速地完成分析,同时具有较好的大规模复杂查询的响应性能。其典型的代表是星形模型和雪花模型。其设计步骤分为以下几个步骤:
- 选择需求进行决策的业务过程。业务过程可以是单个业务事件,比如交易的支付、退款等;也可以是某个事件的状态,比如当前的账户余额等;还可以是一系列相关业务事件组成的业务流程,具体需要看我们分析的是某些事件发生情况,还是当前状态,或是事件流转效率。
- 选择粒度。预判所分析的数据需要细分到什么程度,从而决定选择哪个粒度。
- 识别维度。选择好粒度,则围绕粒度设计维度表,配置维度属性用于分析数据时进行分组和筛选。
- 选择事实。确定分析需要衡量的指标。
3 Data Vault模型
Data Vault是Dan Linstedt发起创建的一种模型,它是ER模型的衍生。它强调建立一个可审计的基础数据层,也就是强调数据的历史性、可追溯性和原子性,而不要求对数据进行过度的一致性处理和整合;同时他基于主题概念将企业数据进行结构化组织,并引入了更进一步的发生处理来优化模型,以应对预案系统变更的扩展性。Data Vault模型由以下几部分组成:
- Hub:是企业的核心业务实体,由实体key、数据仓库序列代理键、装载时间、数据来源组成。
- Link:代表Hub之间的关系。它可以描述1:1、1:n和n:n的关系。它由Hub的代理键、装载时间、数据来源组成。
- Satellite: 是Hub的详细描述内容,一个Hub可以有多个Satellite。它由Hub的代理键、装载时间、来源类型、详细的Hub描述信息组成。
4 Anchor模型
Anchor模型是对Data Vault模型做了进一步规范化处理,其核心思想是所有扩展只是添加而不是修改,因此将模型规范到6NF。但是这样大大增加了查询join操作,不太适合有比较多的join操作的数据仓库。
5 阿里巴巴数据模型
阿里巴巴为了满足日益增长的数据,选择了维度建模为核心理念的模型方法论,同时对其进行了一定的升级和扩展,构建了阿里巴巴集团的公共层模型数据架构体系。
数据公共层建设的目的是着力解决数据存储和计算的共享问题,其指导方法是一套统一化的集团数据整合及管理的方法体系(OneData),其包括一致性的指标定义体系、模型设计方法体系及配套工具。
阿里数据整合及管理体系
- 组合相关和相似数据:采用明细宽表,复用关联计算,减少数据扫描。
- 公共指标统一加工:构建命名规范、口径一致和算法统一的统计指标,为上层数据产品、应用服务提供公共指标;建立逻辑汇总宽表。
- 建立一致性维度:建立一致的数据分析维表,降低数据计算口径、算法不统一的风险。
- 个性化指标加工:不公共性、复杂性(指标型、比值型、排名型指标)。
- 基于应用的数据组装:大宽表集市、横表转纵表、趋势指标串。
- 理论篇~第三章 数据模型设计
- 第三章 关系模式设计理论
- 第三章:关系模式设计理论
- 数据模型设计
- 数据模型设计
- 数据库第三章理论总结
- 理论篇~第四章 维度设计
- 理论篇~第五章 事实表设计
- 软件工程之系统建模篇【设计数据模型】
- 长尾理论读书笔记:第三章 长尾简史
- 数据库理论(3)之数据模型
- 数据模型设计心得
- 数据模型设计基础
- 数据模型设计 学习笔记
- 数据模型设计心得
- 数据模型设计心得
- SaaS数据模型设计
- json元数据模型设计
- heap和stack有什么区别
- 随笔
- final, finally, finalize的区别。
- 哈希表
- first week of machine learning on Coursera
- 理论篇~第三章 数据模型设计
- Redis在Java中的Jedis常用API
- [读书笔记]第八章 导游拿商店的回扣愈多,团员看风景的机会愈少
- Centos 6.4系统如何从动态获取ip改为静态获取ip
- 三星港版 A8000 6.0.1 ROOT
- MYSQL EXPLAIN 查看查询优化器-后台开发应知应会
- javaWeb开发入门
- spring boot 整合spring data jpa
- java jdk安装