数据仓库 - 系统进程

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

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

数据仓库中的流程

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

  • 提取并加载数据。
  • 清理和转换数据。
  • 备份并归档数据。
  • 管理查询并将其引导至适当的数据源。
流程

提取和加载过程

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

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

控制流程

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

何时开始提取

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

例如,在电信行业的客户分析数据仓库中,将客户数据库中周三晚上 8 点的客户列表与周二晚上 8 点之前的客户订阅事件合并起来是不合逻辑的。 这意味着我们正在寻找没有关联订阅的客户。

加载数据

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

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

清理和转换流程

提取数据并将其加载到临时数据存储后,就可以执行清理和转换。 以下是清洁和改造所涉及的步骤列表 −

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

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

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

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

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

对数据进行分区

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

聚合

需要聚合来加速常见查询。 聚合依赖于这样一个事实:大多数常见查询将分析详细数据的子集或聚合。

备份和存档数据

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

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

查询管理流程

该进程执行以下功能 −

  • 管理查询。

  • 有助于加快查询的执行时间。

  • 将查询定向到最有效的数据源。

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

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

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