起源:数据仓库规模大、周期长,一些规模比较小的企业用户难以承担。所以,做为快速解决企业当前存在的实际问题的一种有效方法,独立型数据集市成为一种既成事实。独立型数据集市是为知足特定用户(通常是部门级别的)的需求而创建的一种分析型环境,它可以快速地解决某些具体的问题,并且投资规模也比数据仓库小不少。数据库
数据集市能够理解为是一种"小型数据仓库",它只包含单个主题,且关注范围也非全局,数据集市也叫数据市场,是一个从操做的数据和其余的为某个特殊的专业人员团体服务的数据源中收集数据的仓库。数据是从企业范围的数据库、数据仓库中抽取出来的。重点在于他迎合了专业用户群体的特殊需求,其面向部门级业务或某一个特定的主题、良好解决了灵活性和性能之间的矛盾。数据结构
数据集市能够分为两种架构
一种是独立数据集市(independent data mart),这类数据集市有本身的源数据库和ETL架构;工具
一种是非独立数据集市(dependent data mart),这种数据集市没有本身的源系统,它的数据来自数据仓库。性能
当用户或者应用程序不须要/没必要要/不容许用到整个数据仓库的数据时,非独立数据集市就能够简单为用户提供一个数据仓库的"子集"。优化
数据集市的特征主要有:ui
数据仓库(Data Warehouse) 是一个面向主题的(Subject Oriented) 、集成的( Integrate ) 、相对稳定的(Non -Volatile ) 、反映历史变化( Time Variant) 的数据集合用于支持管理决策。对于数据仓库的概念咱们能够从两个层次予以理解,首先,数据仓库用于支持决策,面向分析型数据处理,它不一样于企业现有的操做型数据库;其次,数据仓库是对多个异构的数据源有效集成,集成后按照主题进行了重组,并包含历史数据,并且存放在数据仓库中的数据通常再也不修改。(注:该定义来自于著名的数据仓库专家W. H. Inmon 的著做《Buildingthe Data Warehouse》一书)。 spa
数据仓库是企业级的,能为整个企业各个部门的运行提供决策支持手段;.net
数据集市则是一种微型的数据仓库,它一般有更少的数据,更少的主题区域,以及更少的历史数据,所以是部门级的,通常只能为某个局部范围内的管理人员服务,所以也称之为部门级数据仓库。设计
|
数据仓库 |
数据集市 |
数据的来源 |
生产系统、外部数据等 |
数据仓库 |
范围规模 |
企业级 |
部门级或工做组级 |
主题 |
以企业为主题 |
以部门或特殊的分析为主题 |
数据粒度 |
最细的粒度 |
较粗的粒度 |
数据结构 |
第三范式,规范化结构 |
星型模型、雪花模型、星座模型 |
历史数据 |
大量的历史数据 |
适度的历史数据 |
优化 |
处理海量数据、数据探索 |
便于访问和分析、快速查询 |
索引 |
高度索引 |
高度索引 |
由于仓库终端用户直接与数据集市进行交互,因此数据集市的建模是捕获终端用户业务需求的最有效工具之一。数据集市的建模过程取决于许多因素。下面描述了三个最重要的:
数据集市的建模是终端用户驱动的。终端用户必须参与数据集市的建模过程,由于他们显然是要使用该数据集市的人。由于您应指望终端用户彻底不熟悉复杂的数据模型,因此应该将建模技术和建模过程做为总体进行组织,以便使复杂性对终端用户透明。
数据集市的建模是由业务需求驱动的。数据集市模型对于捕获业务需求十分有用,由于它们一般由终端用户直接使用,且易于理解。
数据集市的建模极大地受到了数据分析技术的影响。数据分析技术能够影响所选择的数据模型的类型及其内容。目前,有几种经常使用的数据分析技术:查询和报表制做、多维分析以及数据挖掘。
若是仅仅意图提供查询和报表制做功能,那么带有正规(normalized)或非正规(denormalized)数据结构的 ER 模型就是最合适的。维度数据模型也多是较好的选择,由于它是用户友好的,并具备更好的性能。若是其目标是执行多维数据分析,那么维度数据模型就是这里的唯一选择。然而,数据挖掘一般在可用的最低细节级(level of detail)工做得最好。所以,若是数据仓库是用于数据挖掘的,就应该在模型中包含较低细节级(level of detail)的数据。