BI中事实表,维度表和数据集市,数据仓库的理解
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BI中事实表,维度表和数据集市,数据仓库的理解相关的知识,希望对你有一定的参考价值。
维度表(dimension)存放着一些维度属性,例如时间维度:年月日时;地域维度:省份,城市;年龄维度:老年,中年,青年;职称维度:高,中,低。它定义了可以从哪些角度分析事实表。
事实表(fact)存放着一些业务产生的数据,例如:商品订购产生的订单信息,银行的流水信息,erp系统的办公信息。但它不仅存放着上述事实信息,而且存放在事实信息与维度信息关联的键值,例如订单信息里面有日期字段可以和时间维度关联,可以通过银行中的个税流水与收入维度关联量化各个收入群体,erp流水中的员工号可以同职称维度表关联统计公司运行状态。
其实,在设计事实表与维度表的关联关系时,要引入两个模型结构:星型表(star)和雪花表(snow)。
顾名思义,星型表模型是事实表与每个维度表分别关联,事实表位于中央,维度表围绕事实表周围。这种模型结构市一中反范式的设计方式。优点是设计简单,减少了关联事实表和维度表的关联层级,查询效率会高一些,缺点是数据的冗余。例如:事实表student(学号,年龄,姓名,国家,省份,地市,专业。。。),维度表:country(国家编码,国家名称),province(省份编码,省份名称),city(国家编码,省份编码,城市编码,城市名称);则在存储来至同一省份不同地市的学生时,国家和省份就重复存放了。
雪花表模型则是一种规范的范式结构,它的数据组织方式是消除冗余的,能有效减少数据量;优点是减少了冗余并且在关联查询中不容易出现数据重复计算的情况,因为它引入了数据完整性,缺点是维护复杂,增加了关联层级,执行效率较低。例如:事实表student(学号,年龄,姓名,地域,专业。。。),维度表:area(地域编码,国家编码,省份编码,城市编码)country(国家编码,国家名称),province(省份编码,省份名称),city(国家编码,省份编码,城市编码,城市名称)。
接着,有上述星型表和雪花表组成的数据集合就是一个数据集市(datamart),其面向于部门级应用,存放少量的历史数据,数据来源于数据仓库。
在数据集市的底层则为数据仓库(data warehouse),它的数据来源于ODS,存放着大量历史数据,它是ods数据的视图反映。数据存储符合第三范式,面向企业级应用。
另外,ODS(Operational Data Store):是业务产生的数据,是不断变化的数据,例如业务产生的流水数据。
以上是关于BI中事实表,维度表和数据集市,数据仓库的理解的主要内容,如果未能解决你的问题,请参考以下文章