
数据仓库建模方法简介
市场上存在着各类数据库类的产品,有传统的RDBMS,如Oracle,MySQL,SQL Server,也有Greenplum,mongodb,及hadoop生态圈中的hive,hbase等。随着数据库种类和使用范围的不断扩大,它被逐步划分为两大基本类型:
A. 操作型数据库
B. 分析型数据库
模型组织结构分类
维度模型中通常包含三种模型:星型模型,雪花模型以及星座模型。

星型模型
星型模式(Star Schema)是最常用的维度建模方式,下图展示了使用星型模式进行维度建模的关系结构:

雪花模型

星座模型
星座模式(Fact Constellations Schema)也是星型模式的扩展。基于这种思想就有了星座模式:
案例演示
(向上滑动查看内容)
1. 哪些维度对主题分析有用
本例中根据产品(PRODUCT)、顾客(CUSTOMER)、商店(STORE)、日期(DATE)对销售额进行分析是非常有帮助的;
d. 维度CALENDAR由关系SALESTRANSACTION中的TDate列分离得到;
销量和销售额信息可以由关系SALESTRANSACTION和关系SOLDVIA,关系PRODUCT连接得到;明确这四个问题后,便能完成维度建模:
但这样会加大查询人员负担:每次查询都涉及到太多表了。因此实际使用需要根据业务场景,避免遵从范式设计,导致查询性能下降。
假如该公司质量监管部门希望用分析销售主题同样的方法分析劣质产品,那么此时不需要重新维度建模,只需往模型里加入一个新的劣质产品事实表。之后新的数据仓库维度建模结果如下,这个就是一个星座模型结构了:
星型模式/雪花模式/星座模式的关系如下图所示:
雪花模式是将星型模式的维表进一步划分,使各维表进一步规范化设计。而星座模式则是允许星型模式中出现多个事实表。在实际数据仓库建模中,星座模式才是最多出现的。
本期作者
本期作者|苏云金 从事电信运营商数据开发工作多年,擅长处理异构数据ETL,分析优化;精通OLAP和OLTP系统数据模型的构建和管控。