请列举数据仓库中常用的建模方法,并说明星型模型与雪花模型在结构、规范化程度及查询性能等方面的主要区别。
考察说明
考查对数据仓库建模方法体系及多维模型设计差异的理解。
回答思路
- 【回答框架 1】数据仓库建模方法主要包括范式建模(3NF)、维度建模、Data Vault 等,其中维度建模又分为星型、雪花和星座模型,是当前主流。
- 【回答框架 2】星型模型由事实表和维度表组成,维度表直接围绕事实表,全部为一级连接,结构简单,查询时连接次数少,性能较高,但维度表可能存在冗余。
- 【回答框架 3】雪花模型将星型模型的维度表进一步分解为多个规范化子表,消除冗余,减少存储,但增加了连接层级和查询复杂度,性能可能下降。
- 【回答框架 4】选择时需权衡:星型模型适合查询频繁、追求性能的场景;雪花模型适合存储紧张或维度层次复杂、需严格一致性的场景,实际中经常采用星型或星座变体。
- 【回答框架 5】实际建模中还会结合维度退化、缓慢变化维度等策略,完整方案需覆盖事实表设计、粒度定义及ETL实现。
- 【关键点 1】星型模型是维度建模最常用形式,结构简单、查询性能好。
- 【关键点 2】雪花模型通过规范化减少冗余,但增加连接和查询开销。
- 【关键点 3】没有绝对优劣,需根据查询性能、存储成本、维护复杂度等因素综合选择。
- 【关键点 4】维度建模还包括星座模型,支持多事实表共享维度。
- 【易错点 1】不要认为雪花模型一定比星型模型复杂低效,具体要看数据和查询场景。
- 【易错点 2】不能只讨论模型形态而忽略事实表粒度、维表更新策略等实现细节。
- 【易错点 3】避免将规范化和反规范化简单等同于优劣,需结合具体需求。