目录
什么叫数据建模?
模型是对物理世界的刻画,从而更好地向他人表示,达到信息传递的目的。数据模型即是由一组符号、文本组成的集合,对业务数据建立适当的模型,从而更好地刻画业务系统中相关概念及其之间的关系,达到有效交流、沟通的目的。
为什么要数据建模?
好的数据模型可以帮助更好地组织和存储数据,以便在性能、成本、效率和质量之间取得最佳平衡:
性能:良好的数据模型可以帮助快速查询所需数据,降低I/O吞吐
成本:良好的数据模型可以极大的降低不必要的数据冗余,实现结果复用,从而极大降低数据的存储和计算成本
效率:良好的数据模型可以极大地改善用户使用数据的体验,提升数据的使用效率
质量:良好的数据模型可以极大改善数据口径的不一致性,减少数据计算错误的可能性
概念建模、逻辑建模、物理建模的关系?
关系 | 主题(维度) | |
概念建模 | 只能用1页描述的概念规则 | 单页导航 |
逻辑建模 | 基于业务规则的详细业务解决方案 | 基于业务规则的详细业务解决方案 |
物理建模 | 详细的技术解决方案 |
数据建模有哪些方法?
关系建模
维度建模
Data Vault 建模
Anchor 建模
OneDate 体系架构
指标体系构建
阿里巴巴常用的时间周期修饰词
中文名 | 英文名 |
---|---|
最近1天 | 1d |
最近3天 | 3d |
最近7天 | 1w |
最近14天 | 2w |
最近30天 | 1m |
最近60天 | 2m |
最近90天 | 3m |
最近180天 | 6m |
180天以前 | bh |
自然周 | cw |
自然月 | cm |
自然季度 | cq |
截至当日 | td |
年初截至当日 | sd |
零点截至当前 | tt |
财年 | fy |
最近1小时 | 1h |
准实时 | ts |
未来7天 | flw |
未来4周 | f4w |
数仓为什么要分层
1、空间换时间,提高数据访问效率
2、分层加工,拆解复杂的处理过程
3、降低源系统变更影响,让模型更加鲁棒
参考文章
- 《数据建模经典教程》,Steve Hoberman
- 大数据之路-阿里巴巴大数据实践