数据仓库 - 系统流程



对于操作型数据库,我们需要应用固定数量的操作,并且我们有明确定义的技术,例如使用规范化数据保持表小等。这些技术适用于交付解决方案。但是,对于决策支持系统,我们不知道将来需要执行哪些查询和操作。因此,应用于操作型数据库的技术不适用于数据仓库。

在本章中,我们将讨论如何在开放系统技术(如 Unix 和关系数据库)之上构建数据仓库解决方案。

数据仓库中的流程流

数据仓库有四个主要流程:

  • 提取和加载数据。
  • 清洗和转换数据。
  • 备份和归档数据。
  • 管理查询并将它们引导到相应的数据源。
Process Flow

提取和加载流程

数据提取从源系统获取数据。数据加载获取提取的数据并将其加载到数据仓库中。

注意 - 在将数据加载到数据仓库之前,必须重建从外部来源提取的信息。

控制流程

控制流程涉及确定何时开始数据提取以及数据的一致性检查。控制流程确保工具、逻辑模块和程序按正确的顺序和时间执行。

何时启动提取

提取数据时,数据需要处于一致状态,即数据仓库应向用户呈现信息的单个一致版本。

例如,在电信行业的客户画像数据仓库中,将星期三晚上 8 点从客户数据库中提取的客户列表与星期二晚上 8 点之前的客户订阅事件合并是不合逻辑的。这意味着我们正在查找没有关联订阅的客户。

加载数据

提取数据后,将其加载到临时数据存储中,在其中进行清理并使其保持一致。

注意 - 一致性检查仅在所有数据源都加载到临时数据存储中时才执行。

清洗和转换流程

数据提取并加载到临时数据存储后,就该执行清洗和转换了。以下是清洗和转换中涉及的步骤列表:

  • 将加载的数据清洗并转换为结构
  • 对数据进行分区
  • 聚合

将加载的数据清洗并转换为结构

清洗和转换加载的数据有助于加快查询速度。可以通过使数据保持一致来完成:

  • 在自身内部。
  • 与同一数据源中的其他数据。
  • 与其他源系统中的数据。
  • 与仓库中现有的数据。

转换涉及将源数据转换为结构。对数据进行结构化可以提高查询性能并降低运营成本。数据仓库中包含的数据必须进行转换以支持性能要求并控制持续的运营成本。

对数据进行分区

这将优化硬件性能并简化数据仓库的管理。在这里,我们将每个事实表划分为多个独立的分区。

聚合

聚合是加快常见查询速度所必需的。聚合依赖于这样一个事实,即大多数常见查询将分析详细数据的子集或聚合。

备份和归档数据

为了在数据丢失、软件故障或硬件故障的情况下恢复数据,有必要定期备份。归档涉及以允许在需要时快速恢复的格式从系统中删除旧数据。

例如,在零售销售分析数据仓库中,可能需要保留 3 年的数据,并将最近 6 个月的数据保留在线。在这种情况下,通常需要能够进行今年和去年的月度比较。在这种情况下,我们需要从档案中恢复一些数据。

查询管理流程

此流程执行以下功能:

  • 管理查询。

  • 帮助加快查询执行时间。

  • 将查询引导到其最有效的数据源。

  • 确保以最有效的方式使用所有系统源。

  • 监控实际查询配置文件。

在此流程中生成的信息由仓库管理流程用于确定要生成哪些聚合。此流程通常不会在将信息定期加载到数据仓库期间运行。

广告