由 Ralph Kimball 最先提出这一概念。其简单描述就是,按照事实表,维表来构建数据仓库,数据集市。
- 事实表是用来记录具体事件的,包含了每个事件的具体要素,以及具体发生的事情
- 维表则是对事实表中事件的要素的描述信息
- 维度建模法典型代表就是星型模型、雪花模型
维度建模主要以分析决策需求为出发点来构建模型。一般有比较好的大规模复杂查询的响应性能,能够直接面向业务,维度建模可以快速上手、快速交付, 有大量荣誉数据,即辅助表,容易产生表爆炸问题,后续维护成本高。 当业务发生变化,需要重新进行维度的定义时,往往需要重新进行维度数据的预处理。
3NF VS 维度建模
3NF | 维度建模 | |
---|---|---|
优点 | 高度结构化、相对容易扩展、无冗余 | 面向业务,适合多维分析、聚合场景 能够极大的提升数据仓库的处理能力 |
劣势 | 不利于对接BI、不利于下钻、物理设计常与业务不匹配 | 需要预处理、大量冗余数据 |
两个模型各有各的优劣势,不同的场景,可以使用不同的方法,实际场景很多都是混和使用