聊一聊数据应用中的数据集市

时间:2022-10-21 18:06:47

今天我们聊聊什么是数据集市(DM)?什么时候需要数据集市?具有成本效益的数据集市、数据集市的成本、数据集市的类型、实施数据集市的步骤、数据集市的结构以及数据集市的缺点以及数据仓库(DW)与数据集市之间的差异。

一 什么是数据集市

数据集市是数据仓库的一小部分,主要与生产、采购、销售、财务等特定业务领域应用相关。存储在 DW 系统中的数据非常庞大,因此数据集市设计属于各个部门的数据子集。因此,特定的用户组可以轻松地利用这些数据进行分析。与具有多种用户组合的数据仓库不同,每个数据集市都有一组特定的最终用户。最终用户数量越少,响应时间就越短。

商业智能 (BI) 工具也可以访问数据集市。数据集市不包含重复或未使用的数据。它们确实会定期更新。它们是面向主题的灵活数据库。每个团队都有权开发和维护其数据集市,而无需修改数据仓库或其他数据集市的数据。

数据集市更适合小型应用,因为它的成本远低于数据仓库系统。构建数据集市所需的时间也少于构建数据仓库所需的时间。

多个数据集市的图示:

聊一聊数据应用中的数据集市

什么时候需要数据集市

根据需要,通过让利益相关者参与来为部门规划和设计数据集市,因为数据集市的运营成本有时可能会很高。

考虑以下构建数据集市的原因:

  • 如果想用一组用户访问控制策略对数据进行分区。

  • 如果某个部门想要更快地查看查询结果,而不是扫描庞大的 DW 数据。

  • 如果一个部门希望数据建立在其他硬件或软件平台上。

  • 如果一个部门希望以适合其工具的方式设计数据。

具有成本效益的数据集市

可以通过以下步骤构建具有成本效益的数据集市:

  • 确定功能划分:将组织数据划分为每个数据集市(部门)特定数据以满足其要求,而无需任何进一步的组织依赖性。

  • 识别用户访问工具要求:市场上可能有不同的用户访问工具需要不同的数据结构。数据集市用于支持所有这些内部结构,而不会干扰 DW 数据。一个数据集市可以根据用户需要与一个工具相关联。数据集市还可以每天为此类工具提供更新的数据。

  • 识别访问控制问题:如果 DW 系统中的不同数据段需要隐私并且应该由一组授权用户访问,那么所有这些数据都可以移动到数据集市中。

数据集市成本

数据集市的成本可以估算如下:

  • 硬件和软件成本:任何新添加的数据集市都可能需要额外的硬件、软件、处理能力、网络和磁盘存储空间来处理最终用户请求的查询。这使得数据集市成为一种昂贵的策略。因此,预算应该精确计划。

  • 网络访问:如果数据集市的位置与数据仓库的位置不同,则所有数据都应通过数据集市加载过程进行传输。因此,应该提供一个网络来传输可能很昂贵的大量数据。

  • 时间窗口约束:数据集市加载过程所花费的时间将取决于各种因素,例如数据的复杂性和数量、网络容量、数据传输机制等。

二 数据仓库与数据集市的比较

聊一聊数据应用中的数据集市

三 数据集市的类型

数据集市分为三种类型,即依赖型、独立型和混合型。这种分类基于它们的填充方式,即来自数据仓库或来自任何其他数据源。提取、转换和传输 (ETT) 是用于从任何源系统填充数据集市数据的过程。

让我们详细看看每种类型!

1) 依赖型数据集市

在依赖数据集市中,数据来源于现有数据仓库本身。这是一种自上而下的方法,因为数据集市中的重组数据部分是从集中式数据仓库中提取的。

数据集市可以在逻辑上或物理上使用 DW 数据,如下所示:

  • 逻辑视图:在这种情况下,数据集市的数据与 DW 没有物理分离。它通过虚拟视图或表在逻辑上引用 DW 数据。

  • 物理子集:在这种情况下,数据集市的数据在物理上与 DW 分离。

一旦开发了一个或多个数据集市,就可以允许用户仅访问数据集市或访问数据集市和数据仓库。

在依赖数据集市的情况下,ETT 是一个简化的过程,因为可用数据已经存在于集中式 DW 中。准确的汇总数据集应仅移动到相应的数据集市。

相关数据集市的示例如下所示:

聊一聊数据应用中的数据集市

2) 独立型数据集市

独立的数据集市最适合组织中的小型应用。这里的数据不是来自现有的数据仓库。独立数据集市既不依赖于企业 DW,也不依赖于其他数据集市。

独立数据集市是从外部或内部数据源提取、转换和加载数据的独立系统。这些很容易设计和维护,直到它支持简单的部门明智的业务需求。

在独立数据集市的情况下,必须处理 ETT 流程的每个阶段,其方式类似于将数据处理到集中式 DW 中的方式。但是,填充到数据集市的源和数据的数量可能会更少。

独立数据集市的图示:

聊一聊数据应用中的数据集市

3) 混合数据集市

在混合数据集市中,数据来自 DW 和其他操作系统。混合数据集市具有灵活的大型存储结构。它还可以引用其他数据集市数据。

混合数据集市的图示:

聊一聊数据应用中的数据集市

四 数据集市的实施步骤

被认为有点复杂的数据集市的实现在如下步骤进行了说明:

  • 设计:从业务用户请求数据集市开始,设计阶段就涉及到需求收集、从各个数据源创建适当的数据、创建逻辑和物理数据结构以及 ER 图。

  • 构建:团队将设计数据集市系统中的所有表、视图、索引等。

  • 填充:数据将与元数据一起被提取、转换并加载到数据集市中。

  • 访问:数据集市数据可供最终用户访问。他们可以查询数据以进行分析和报告。

  • 管理:这涉及各种管理任务,例如用户访问控制、数据集市性能微调、维护现有数据集市以及在系统出现故障时创建数据集市恢复方案。

五 数据集市的结构

每个数据集市的结构都是根据要求创建的。数据集市结构称为星型联接。这种结构会因一个数据集市而异。

星型连接是由事实表和维度表组成的多维结构,用于支持大量数据。星型联接将在中心有一个事实表,由维度表包围。各个事实表数据通过外键引用与维度表数据相关联。一个事实表可以被 20-30 个维度表包围。与 DW 系统类似,在星型连接中,事实表仅包含数字数据,而相应的文本数据可以在维度表中进行描述。这种结构类似于 DW 中的星型模式。

星形连接结构的图示。

聊一聊数据应用中的数据集市

但是来自集中式 DW 的粒度数据是任何数据集市数据的基础。对规范化的 DW 数据进行多次计算,将其转换为多维数据集市数据,以多维数据集的形式存储。

这与如何将来自遗留源系统的数据转换为规范化 DW 数据的工作方式类似。

六 数据集市的缺点

尽管数据集市比 DW 有一些好处,但它们也有一些缺点,如下所述:

  • 创建的不需要的数据集市很难维护。

  • 数据集市旨在满足小型应用的需求。增加数据集市的大小会降低其性能。

  • 如果要创建更多数量的数据集市,那么管理层应该妥善处理它们的版本控制、安全性和性能。

  • 数据集市可能包含历史或汇总或详细数据。但是,由于数据不一致的问题,DW 数据和数据集市数据的更新可能不会同时发生。