数据集市是一组特定的、针对某个主题域、某个部门或者某些特殊用户而进行分类的数据集合,也可以说是小型的数据仓库。用户可以在数据集市中快速地对数据进行访问和对报表进行展示,同时在数据结构的内部对数据进行必要的汇总和优化。
数据集市的存储通常按照划分主题的形式进行存放,其模型一般是星形结构或者雪花形结构。而数据仓库除了按照主题的形式进行存放外,其模型一般按照第三范式的形式进行设计。数据仓库到数据集市的过程是从数据规范化到多维建模的过程,包括数据仓库内的实体表转化成事实表、维表,以及将实体之间的关系转化成多维关系的映射。
在数据仓库项目中,数据集市通常按照地区、日期等维度对数据进行组织和汇总,因此数据仓库转化成数据集市也是按照轻量级汇总或者中度汇总和计算所完成的。简而言之,数据集市里的数据一般都是从数据仓库中经过转换、汇总计算获取的,直接支撑前端的应用需求,如图7-26所示。
数据集市的数据通常会作为OLAP服务和应用服务的数据输入。数据集市的数据一般不会从源数据系统中直接抽取,即一般不提倡建设独立型的数据集市。这是因为,如果数据集市从源数据系统中直接抽取数据,则可能导致数据的不一致性,同时也会增加多个额外的进程,这些进程在源系统中将大大消耗系统的CPU资源,从而造成资源上的浪费。数据集市和数据仓库的关系如图7-27所示。
图7-26 数据集市的数据来源
图7-27 数据仓库和数据集市的关系
(2)数据集市和数据仓库的区别(www.daowen.com)
数据仓库的数据是经过整合和清洗的,它能够提供统一的视图。当数据仓库建成之后,报表、OLAP应用和数据分析挖掘都可以从数据仓库中获取数据。
对于数据集市来说,它主要是通过分析应用的特点,判断应该获取什么样的数据。例如,市场部的数据集市可能不需要人力资源的数据。一般来说,数据集市就是企业级数据仓库的一个子集,主要面向部门级的业务,或者某个特定的主题。
在数据结构上,数据仓库是面向主题的、集成的数据的集合。而数据集市通常定义为星形结构或者雪花形结构。数据集市一般是由一张事实表和几张维表组成。数据仓库和数据集市的数据结构如图7-28所示。
图7-28 数据仓库和数据集市的数据结构
数据仓库和数据集市的区别见表7-1。
表7-1 数据仓库和数据集市的区别
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。