Dwh 简明教程

Data Warehousing - System Processes

我们有用于应用于操作型数据库的固定数量的操作,并且我们有 use normalized datakeep table small 等明确界定的技术。这些技术适用于提供解决方案。但在决策支持系统中,我们不知道将来需要执行哪些查询和操作。因此,应用于操作型数据库的技术不适用于数据仓库。

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

Process Flow in Data Warehouse

有四个主要过程有助于建立一个数据仓库:

  1. 提取并加载数据。

  2. 清理和转换数据。

  3. 备份和存档数据。

  4. 管理查询并将其引导到适当的数据源。

process flow

Extract and Load Process

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

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

Controlling the Process

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

When to Initiate Extract

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

例如,在电信部门的客户分析数据仓库中,将周三下午 8 点从客户数据库中提取的客户列表与周二下午 8 点之前的客户订阅事件合并是不合逻辑的。这意味着我们正在查找没有关联订阅的客户。

Loading the Data

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

Note - 仅当所有数据源加载到临时数据存储中时,才执行一致性检查。

Clean and Transform Process

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

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

  2. Partition the data

  3. Aggregation

Clean and Transform the Loaded Data into a Structure

清理并转换加载的数据有助于加快查询。它可以通过使数据一致来完成:

  1. within itself.

  2. 与同一数据源中的其他数据一致。

  3. 与其他源系统中的数据一致。

  4. 与数据仓库中现有的数据搭配使用。

转换包括将源数据转换为结构。对数据进行结构化有助于提高查询性能并降低运行成本。数据仓库中包含的数据必须经过转换,以支持性能需求并控制持续的运行成本。

Partition the Data

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

Aggregation

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

Backup and Archive the Data

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

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

Query Management Process

此流程执行以下功能−

  1. manages the queries.

  2. 有助于加快查询执行时间。

  3. 将查询引导至最有效的数据源。

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

  5. monitors actual query profiles.

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