EDW与维度模型间的抉择
EDW与维度模型间的抉择
1 EDW(enterprisedatawarehouse,企业级数据仓库),强调从源系统的业务与数据出发,在企业的的全局高度进行业务对象抽象,使其包含整个企业不同源系统的具体业务对象。
1.1 采用雪花模型架构,设计上符合第三范式
1.2 优点:统一规范
1.3 缺点:复杂,开发周期长,成本高昂
2 宽表(维度建模),强调从应用需求的角度出发,以空间换时间,快速响应业务需求,并通过强调维度的一致性来保证各个模型维度数据的一致性
2.1 采用星型模型架构,会出现大量数据冗余
2.2 优点:快速响应
2.3 缺点:当模型数量大了后管理和维度的一致性是巨大的挑战
3 维度建模步骤
3.1 确定主题,如客户关系分析、客流分析等
3.2 确定分析的具体内容(指标),如客户流失率、贡献度等
3.3 以【3.2】为基础设计数据模型
3.4 建立数据集市,分类存储
3.5 新主题重复以上步骤
4 数据仓库分层概览
4.1 缓冲层(buffer),可选
4.1.1 直接从数据源抽取一模一样的一份数据副本以供使用
4.2 ODS层(operationdata store,营运数据存储层),可选
4.2.1 仍然是明细数据,但数据是被清洗加工过的,结构上符合了DW层,但数据是明细数据
4.2.2 更新频率比DW快,实时性高,如果需要明细或者实时数据,则从ODS层获取
4.3 DW层(datawarehouse,数据仓库层),必选
4.3.1 为汇总数据,且是被清洗加工后按DW的设计存入的数据
4.4 DM层(datamarket,数据集市),可选(但基本都会选)
4.4.1 数据从DW层而来
4.4.2 DM层是依赖主题或者应用需求而建立的(比如,销售部门的DM存储了各部门的相关销售数据,再比如管理层DM则记录了销售、成本、利润等等数据)
EDW与维度模型间的抉择相关推荐
- 大数据分析基础——维度模型
大数据分析基础--维度模型 1基本概念 维度模型的概念出自于数据仓库领域,是数据仓库建设中的一种数据建模方法.维度模型主要由事实表和维度表这两个基本要素构成. 1.1维度 维度是度量的环境,用来反映业 ...
- 深入理解 Laravel Eloquent(三)——模型间关系(关联)
Eloquent是什么 Eloquent 是一个 ORM,全称为 Object Relational Mapping,翻译为 "对象关系映射"(如果只把它当成 Database A ...
- Django ORM – 多表实例:Django模型Model的定义+模型间关系
Django 对各种数据库提供了很好的支持,包括:PostgreSQL.MySQL.SQLite.Oracle. Django 为这些数据库提供了统一的调用API. 我们可以根据自己业务需求选择不同的 ...
- 数仓-维度模型之维度迟到问题处理详解
数仓-维度模型之维度迟到问题处理详解 摘要:在数据仓库项目中,从贴源层(ODS)更新到数据仓库层(DW)时,出现了拉链形式的维表数据更新不及时的情况,从而导致事实表中的该维度列值为空或旧值.需要根据维 ...
- 【电商数仓】关系建模与维度建模、维度表和事实表、几种维度模型、数仓建模原则
文章目录 1 关系建模与维度建模 (1)关系建模 (2) 维度建模 2 维度表和事实表 (1)维度表 (2)事实表 事务型事实表 周期型快照事实表 累积型快照事实表 3 维度模型分类 (1)星型模型 ...
- 数据仓库(DW)常见维度模型方式
1.星型模型 星型模型主要是维表和事实表,以事实表为中心,所有维度直接关联在事实表上,呈星型分布. 2.雪花模型 雪花模型,在星型模型的基础上,维度表上又关联了其他维度表.这种模型维护成本高,性能方面 ...
- SAP Cloud Application Programming CDS 模型间 association 的设置
本文提到的在线书店的例子,参考 Jerry 的文章:SAP Cloud Application Programming 介绍 - 2021 更新版 我定义了两个业务模型,名称分别为 Books 和 A ...
- Odoo10教程---模块化二:模型间关系,继承,计算字段等
模型之间的关系 来自模型的记录可能与来自另一模型的记录相关.例如,一个销售订单记录和一个包含客户数据的客户记录相关:同时也和销售订单线记录相关. 练习 创建会话模型 对于模块Open Academy, ...
- 维度模型数据仓库(十四) —— 杂项维度
(五)进阶技术 9. 杂项维度 本篇讨论杂项维度.简单地说,杂项维度就是一种包含的数据具有很少可能值的维度.例如销售订单,它可能有很多离散数据(yes-no这种类型的值 ...
最新文章
- 一步步学会使用ASP.NET 4 WEB应用程序中使用URL Routing(翻译)
- 基于Android平台扫码识别并链接服务器demo
- 高频数字币交易所系统有哪些技术挑战?
- vue渲染大量数据如何优化_Vue3 Compiler 优化细节,如何手写高性能渲染函数
- 正确使用Windows Azure 中的VM Role
- 直播回顾丨拆解 LTV:增长焦虑,企业如何诊断黄金流量?
- 为什么整数在python中表示d_python 数据类型和变量
- 工作原理是什么_磁翻板液位计工作原理是什么?
- 使用Redis的理由
- [转载] 七龙珠第一部——第005话 邪恶沙漠的雅木茶
- 单点登录之ajax跨域实现
- 【微信小程序跳一跳】尝试用github开源机器学习玩跳一跳小游戏步骤
- 求两个数的最小公倍数c语言程序,用C语言求两个数的最大公约数和最小公倍数...
- 网络设备高可用性简例
- 弹跳机器人 桌游_《碰撞机器人 Ricochet Robots 》介绍
- ansible一键部署zabbix并配置自动发现
- 徐辉 北大计算机,徐辉的痛苦回忆_徐辉经历的那一段痛苦回忆
- 实验一段有趣的js代码。
- 需求到系统上线经历了什么
- 深度学习—— caffe下进行微调finetune
热门文章
- 银行数字化转型导师坚鹏:银行业同业竞争策略分析
- 谢国忠:中国房地产存在泡沫
- TCP和UDP各自特点与区别
- python slice start比end小_Python - lambda与内置函数
- oracle安装图解
- python生成20个随机数列表偶数下标排列_编写程序,生成一个包含 20 个随机整数的列表,然后对其中偶数下标的元素进行降序排列,奇数下标的元素不变。(提示:使用切片。)_学小易找答案...
- 运营商大数据:贷款客户获客:贷款行业客户怎么找
- [转帖]某外贸公司的面试题!自认为不赖的人士请进!
- How to identify – and avoid – travel photo ‘porn’
- react 虚拟 dom