四、数据集市以及数据集市和数据仓库的区别

数据集市(data mart)

   起源:数据仓库规模大、周期长,一些规模比较小的企业用户难以承担。因此,作为快速解决企业当前存在的实际问题的一种有效方法,独立型数据集市成为一种既成事实。独立型数据集市是为满足特定用户(一般是部门级别的)的需求而建立的一种分析型环境,它能够快速地解决某些具体的问题,而且投资规模也比数据仓库小很多。

        数据集市可以理解为是一种"小型数据仓库",它只包含单个主题,且关注范围也非全局,数据集市也叫数据市场,是一个从操作的数据和其他的为某个特殊的专业人员团体服务的数据源中收集数据的仓库。数据是从企业范围的数据库、数据仓库中抽取出来的。重点在于他迎合了专业用户群体的特殊需求,其面向部门级业务或某一个特定的主题、良好解决了灵活性和性能之间的矛盾。

        数据集市可以分为两种

  一种是独立数据集市(independent data mart),这类数据集市有自己的源数据库和ETL架构;

  一种是非独立数据集市(dependent data mart),这种数据集市没有自己的源系统,它的数据来自数据仓库。

  当用户或者应用程序不需要/不必要/不允许用到整个数据仓库的数据时,非独立数据集市就可以简单为用户提供一个数据仓库的"子集"。

       数据集市的特征主要有:

  • 1)规模小;
  • 2)面向部门;
  • 3)有特定的应用主题;
  • 4)由业务部门定义、设计和开发;
  • 5)业务部门管理和维护;
  • 6)能快速实现;
  • 7)购买比较便宜;
  • 8)投资快速回收;
  • 9)工具集的紧密集成;
  • 10)提供更详细的、预先存在的、数据仓库的摘要子集;
  • 11)可升级到完整的数据仓库。

数据仓库(Data Warehouse) 

  数据仓库(Data Warehouse) 是一个面向主题的(Subject Oriented) 、集成的( Integrate ) 、相对稳定的(Non -Volatile ) 、反映历史变化( Time Variant) 的数据集合用于支持管理决策。对于数据仓库的概念我们可以从两个层次予以理解,首先,数据仓库用于支持决策,面向分析型数据处理,它不同于企业现有的操作型数据库;其次,数据仓库是对多个异构的数据源有效集成,集成后按照主题进行了重组,并包含历史数据,而且存放在数据仓库中的数据一般不再修改。(注:该定义来自于著名的数据仓库专家W. H. Inmon 的著作《Buildingthe Data Warehouse》一书)。 

数据集市和数据仓库的主要区别

数据仓库是企业级的,能为整个企业各个部门的运行提供决策支持手段;

数据集市则是一种微型的数据仓库,它通常有更少的数据,更少的主题区域,以及更少的历史数据,因此是部门级的,一般只能为某个局部范围内的管理人员服务,因此也称之为部门级数据仓库。

 

数据仓库

数据集市

数据的来源

生产系统、外部数据等

数据仓库

范围规模

企业级

部门级或工作组级

主题

以企业为主题

以部门或特殊的分析为主题

数据粒度

最细的粒度

较粗的粒度

数据结构

第三范式,规范化结构

星型模型、雪花模型、星座模型

历史数据

大量的历史数据

适度的历史数据

优化

处理海量数据、数据探索

便于访问和分析、快速查询

索引

高度索引

高度索引

数据集市的数据建模

       因为仓库终端用户直接与数据集市进行交互,所以数据集市的建模是捕获终端用户业务需求的最有效工具之一。数据集市的建模过程取决于许多因素。下面描述了三个最重要的:

       数据集市的建模是终端用户驱动的。终端用户必须参与数据集市的建模过程,因为他们显然是要使用该数据集市的人。因为您应期望终端用户完全不熟悉复杂的数据模型,所以应该将建模技术和建模过程作为整体进行组织,以便使复杂性对终端用户透明。

       数据集市的建模是由业务需求驱动的。数据集市模型对于捕获业务需求十分有用,因为它们通常由终端用户直接使用,且易于理解。

       数据集市的建模极大地受到了数据分析技术的影响。数据分析技术可以影响所选择的数据模型的类型及其内容。目前,有几种常用的数据分析技术:查询和报表制作、多维分析以及数据挖掘。

       如果仅仅意图提供查询和报表制作功能,那么带有正规(normalized)或非正规(denormalized)数据结构的 ER 模型就是最合适的。维度数据模型也可能是较好的选择,因为它是用户友好的,并具有更好的性能。如果其目标是执行多维数据分析,那么维度数据模型就是这里的惟一选择。然而,数据挖掘通常在可用的最低细节级(level of detail)工作得最好。因此,如果数据仓库是用于数据挖掘的,就应该在模型中包含较低细节级(level of detail)的数据。


 部分转自:https://blog.csdn.net/xiaoyangsavvy/article/details/80420629

猜你喜欢

转载自www.cnblogs.com/zhoufei2514/p/10297482.html