数据库的三范式
第一范式(1NF):原子性,字段不可分
第二范式(2NF):唯一性,有主键,非主键字段依赖主键
第三范式(3NF):非主键字段不能相互依赖
实体关系模型(E-R图)
实体,属性,关系
1.抽象实体 2.找出实体之间的关系 3.找出实体的属性 4.画出ER关系图 5.设计数据库表
为什么要构建数据仓库?
1.数据存储在互不兼容的系统中
2.关系型数据库一般不存储日志数据
3.决策者需要从商业角度观察数据,关系型数据库不合适
数据仓库(Data Warehouse - DW - DWH)
数据仓库是面向主题的,集成的相对稳定的,反应历史变化的数据集合,数据仓库中的数据是有组织有结构的存储数据集合,用于对管理决策过程的支持.
数据分析模型
星型模型,雪花模型
1.星型模型违范式建模,雪花模型范式建模
2.星型模型数据分析效率比雪花模型高
3.企业级数仓构建使用星型模型和星座模型居多
数据仓库分层设计
按照业务处理逻辑顺序:资源(source)->操作数据层(ODS-Operational Data Store)->数据仓库(DW-Data Warehouse)->数据集市层(Data Mart)
-
资源:初步的数据
-
操作数据层(ODS层):直接存放业务系统抽取过来的数据,将不同业务系统中的数据汇聚在一起
-
数据仓库(DW层):细分为数据明细层(DWD-Data Warehouse Detail)->数据中间层(DWM-Data Warehouse Middle)->数据服务层(DWS-Data Warehouse Service)
-
数据集市层(DM):基于DW上的基础数据,整合汇总成分析某一个主题域的报表数据
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q3m9X9kf-1657620429172)(D:\Typora\image\image-20220708223942980.png)]
数据仓库分层的好处
数据库与数据仓库的区别
功能 | 数据库 | 数据仓库 |
---|---|---|
数据范围 | 当前状态数据 | 存储完整,反应历史变化的数据 |
数据变化 | 支持频繁的增删改查 | 可增加,查询,无更新,删除操作 |
应用场景 | 面向业务交易流程 | 面向分析,侧重决策分析 |
处理数据量 | 频繁,小批次,高并发 | 非频繁,大批量,高吞吐,有延迟 |
设计理论 | 遵循数据库三范式,避免冗余 | 违范式,适当冗余 |
建模方式 | ER实体关系建模(范式建模) | 范式建模+维度建模 |