数据仓库 - 系统进程


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

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

数据仓库中的流程

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

  • 提取并加载数据。
  • 清理和转换数据。
  • 备份并归档数据。
  • 管理查询并将其定向到适当的数据源。
工艺流程

提取和加载过程

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

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

控制过程

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

何时开始提取

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

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

加载数据

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

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

清洁和转型流程

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

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

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

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

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

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

数据分区

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

聚合

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

备份和存档数据

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

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

查询管理流程

该过程执行以下功能 -

  • 管理查询。

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

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

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

  • 监视实际的查询配置文件。

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