反范式设计应用场景解析
反范式设计应用场景解析
1. 反范式设计核心概念
反范式设计是指为了特定性能优化目标,在数据库设计中故意违反关系数据库的范式规则(通常是第三范式或BC范式),通过引入冗余数据或合并表结构来提升查询效率的设计方法。
关键结论:反范式不是对范式理论的否定,而是在特定场景下以空间换时间的权衡策略
2. 典型应用场景
2.1 高性能读取场景
OLAP系统(在线分析处理):
- 数据仓库中的星型/雪花模型
- 报表系统的预聚合表
- 商业智能(BI)系统的多维数据集
示例:电商平台的销售分析看板,预先计算并存储各维度(时间/地区/品类)的聚合指标
2.2 低延迟访问需求
缓存表设计:
- 用户中心存储用户基础信息+常用统计信息
- 商品详情页合并商品基础属性+