数据仓库的数据模型
1. 星型模式
星形模式(Star Schema)是最常用的维度建模方式。星型模式是以事实表为中心,所有的维度表直接连接在事实表上,像星星一样。星形模式的维度建模由一个事实表和一组维表成,且具有以下特点:a. 维表只和事实表关联,维表之间没有关联;b. 每个维表主键为单列,且该主键放置在事实表中,作为两边连接的外键;c. 以事实表为核心,维表围绕核心呈星形分布;
2. 雪花模式
雪花模式(Snowflake Schema)是对星形模式的扩展。雪花模式的维度表可以拥有其他维度表的,虽然这种模型相比星型更规范一些,但是由于这种模型不太容易理解,维护成本比较高,而且性能方面需要关联多层维表,性能也比星型模型要低。所以一般不是很常用
雪花模式
3.星座模式
星座模式是星型模式延伸而来,星型模式是基于一张事实表的,而星座模式是基于多张事实表的,而且共享维度信息。前面介绍的两种维度建模方法都是多维表对应单事实表,但在很多时候维度空间内的事实表不止一个,而一个维表也可能被多个事实表用到。在业务发展后期,绝大部分维度建模都采用的是星座模式。
星座模型
有别于一般联机交易处理(OLTP)系统,数据模型设计是一个数据仓库设计的地基,当前两大主流理论分别为采用正规方式(normalized approach)或多维方式(dimensional approach)进行数据模型设计。 数据模型可以分为逻辑与实体数据模型。逻辑数据模型陈述业务相关数据的关系,基本上是一种与数据库无关的结构设计,通常均会采用正规方式设计,主要精神是从企业业务领域的角度及高度订出subject area model,再逐步向下深入到entities、attributes,在设计时不会考虑未来采用的数据库管理系统,也不需考虑分析性能问题。而实体数据模型则与数据库管理系统有关,是建置在该系统上的数据架构,故设计时需考虑数据类型(data type)、空间及性能相关的议题。 实体数据模型设计,则较多有采用正规方式或多维方式的讨论,但从实务上来说,不执著于理论,能与业务需要有最好的搭配,才是企业在建置数据仓库时的正确考量。
数据仓库的建制不仅是资讯工具技术面的运用,在规划和执行方面更需对产业知识、行销管理、市场定位、策略规划等相关业务有深入的了解,才能真正发挥数据仓库以及后续分析工具的价值,提升组织竞争力。