由 Ralph Kimball 最先提出这一概念。其简单描述就是,按照事实表,维表来构建数据仓库,数据集市。

  • 事实表是用来记录具体事件的,包含了每个事件的具体要素,以及具体发生的事情
  • 维表则是对事实表中事件的要素的描述信息
  • 维度建模法典型代表就是星型模型、雪花模型

维度建模主要以分析决策需求为出发点来构建模型。一般有比较好的大规模复杂查询的响应性能,能够直接面向业务,维度建模可以快速上手、快速交付, 有大量荣誉数据,即辅助表,容易产生表爆炸问题,后续维护成本高。 当业务发生变化,需要重新进行维度的定义时,往往需要重新进行维度数据的预处理。

3NF VS 维度建模

3NF维度建模
优点高度结构化、相对容易扩展、无冗余面向业务,适合多维分析、聚合场景
能够极大的提升数据仓库的处理能力
劣势不利于对接BI、不利于下钻、物理设计常与业务不匹配需要预处理、大量冗余数据

两个模型各有各的优劣势,不同的场景,可以使用不同的方法,实际场景很多都是混和使用