Dwh 简明教程

Data Warehousing - Architecture

在本章中,我们将讨论用于数据仓库设计的数据仓库架构业务分析框架。

Business Analysis Framework

业务分析师从数据仓库中获取信息,以衡量绩效并做出关键调整,以便在市场中胜过其他业务持有人。拥有数据仓库可提供以下优势 −

  1. 由于数据仓库可以快速有效地收集信息,因此可以提高业务生产力。

  2. 数据仓库为我们提供了客户和物品的一致视图,因此可以帮助我们管理客户关系。

  3. 数据仓库还可以通过长期跟踪趋势和模式,以一致可靠的方式帮助降低成本。

要设计出一个有效率的数据仓库,我们需要了解和分析业务需求,并构建 business analysis framework 。每个人对数据仓库设计都有不同的看法。这些视图如下所示 −

  1. The top-down view − 此视图允许选择数据仓库所需的相关信息。

  2. The data source view − 此视图显示由操作系统捕获、存储和管理的信息。

  3. The data warehouse view − 这一视图包含事实表和维度表。它表示存储在数据仓库中的信息。

  4. The business query view − 这是从最终用户角度查看的数据。

Three-Tier Data Warehouse Architecture

一般来说,数据仓库采用三层架构。以下是数据仓库架构的三层。

  1. Bottom Tier − 架构的最底层是数据仓库数据库服务器。它是关系数据库系统。我们使用后端工具和实用程序向底层馈送数据。这些后端工具和实用程序执行提取、清理、加载和刷新功能。

  2. Middle Tier − 在中间层,我们有 OLAP 服务器,可以通过以下两种方式实现。通过关系 OLAP (ROLAP),这是一种扩展的关系数据库管理系统。ROLAP 将多维数据上的操作映射到标准关系操作。通过多维 OLAP (MOLAP) 模型,直接实现多维数据和操作。

  3. Top-Tier − 这一层是前端客户端层。这一层包含查询工具和报告工具、分析工具和数据挖掘工具。

下图描绘了数据仓库的三层架构 −

dwh architecture

Data Warehouse Models

从数据仓库架构的角度来看,我们有以下数据仓库模型 −

  1. Virtual Warehouse

  2. Data mart

  3. Enterprise Warehouse

Virtual Warehouse

对操作数据仓库的视图被称为虚拟仓库。构建虚拟仓库很容易。构建虚拟仓库需要操作数据库服务器上的过剩容量。

Data Mart

数据市包含组织范围内的数据子集。这一数据子集对特定组织群体有价值。

换句话说,我们可以声称数据市包含特定群体特有的数据。例如,营销数据市可能包含与项目、客户和销售相关的数据。数据市局限于主题。

关于数据市需要注意的要点 −

  1. 使用基于 Window 或 Unix/Linux 的服务器来实现数据市。它们在低成本服务器上实现。

  2. 实现数据市周期以短时间段(即以周而不是月或年为单位)衡量。

  3. 如果数据市未经全组织规划和设计,从长远来看其生命周期可能是复杂的。

  4. 数据市集的规模较小。

  5. 数据市集按部门定制。

  6. 数据市集的源是按部门结构组织的数据仓库。

  7. Data mart are flexible.

Enterprise Warehouse

  1. 企业仓库收集有关整个组织的信息和主题

  2. 它为我们提供企业范围内的数据集成。

  3. 数据从操作系统和外部信息提供商集成。

  4. 此信息可能从几千兆字节到数百千兆字节、太字节或更大。

Load Manager

这一组件执行提取和加载流程所需的运算。

加载管理器的尺寸和复杂度在从一个数据仓库到其他数据仓库的具体解决方案中会各有不同。

Load Manager Architecture

加载管理器执行以下功能−

  1. 从源系统中提取数据。

  2. 快速加载已提取的数据到临时数据存储中。

  3. 执行与数据仓库中的数据结构类似的简单转换。

load manager

Extract Data from Source

数据是从操作数据库或外部信息的提供者中提取的。网关是用于提取数据的应用程序。它由底层的 DBMS 支持,允许客户端程序在服务器上生成要执行的 SQL。开放数据库连接 (ODBC)、Java 数据库连接 (JDBC) 是网关示例。

Fast Load

  1. 为了最小化总加载窗口,需要在尽可能短的时间内将数据加载到仓库中。

  2. 转换会影响数据处理速度。

  3. 在应用转换和检查之前,将数据加载到关系数据库中效果会更好。

  4. 实践证明网关技术并不合适,因为当涉及到大量数据时,它们往往表现不佳。

Simple Transformations

在加载时,可能需要执行简单的转换。在完成此操作后,我们就能够执行复杂的检查。假设我们正在加载 EPOS 销售交易,我们需要执行以下检查:

  1. 去除仓库中不需要的所有列。

  2. 将所有值转换为所需的数据类型

Warehouse Manager

仓库管理员负责仓库管理流程。它包含第三方系统软件、C 程序和 shell 脚本。

仓库管理器的尺寸和复杂度在具体解决方案中会各有不同。

Warehouse Manager Architecture

仓库管理员包括以下内容 -

  1. The controlling process

  2. 带 SQL 的存储过程或 C

  3. Backup/Recovery tool

  4. SQL Scripts

warehouse manager

Operations Performed by Warehouse Manager

  1. 仓库管理员分析数据,执行一致性和引用完整性检查。

  2. 针对基础数据创建索引、业务视图和分区视图。

  3. 生成新的聚合并且更新现有聚合。生成正规化。

  4. 将源数据转换并合并到已发布的数据仓库中。

  5. 备份数据仓库中的数据。

  6. 存档已达到捕获周期末尾的数据。

Note − 仓库管理员也会分析查询概要以确定指标和聚合是合适的。

Query Manager

  1. 查询管理器负责将查询引导到合适的表中。

  2. 通过将查询定向到合适的表格,可以提高查询和响应生成的速率。

  3. 查询管理器负责安排用户提出的查询的执行。

Query Manager Architecture

下图展示了查询管理器的架构。它包括以下内容:

  1. 通过 C 工具或 RDBMS 查询重定向

  2. Stored procedures

  3. Query management tool

  4. 通过 C 工具或 RDBMS 查询调度

  5. 通过第三方软件查询调度

query manager

Detailed Information

不保留详细的信息,而是将其汇总到下一个详细信息级别,然后存档至磁带。数据仓库的详细信息部分将详细的信息保存在星型雪花模式中。详细的信息加载到数据仓库以补充汇总数据。

下图以图形形式展示了详细的信息存储在哪以及如何使用。

detailed information

Note - 如果详细的信息离线保存以最小化磁盘存储,在存档之前应确保数据已提取、清理并转换到星型雪花模式。

Summary Information

汇总信息是数据仓库的组成部分,存储预定义的汇总。这些汇总由仓库管理器生成。必须将汇总信息视为瞬态。为了对不断变化的查询概况做出响应,它会随时发生改变。

有关汇总信息的要点如下 −

  1. 汇总信息加速了常见查询的执行。

  2. 它增加了运营成本。

  3. 每当有新数据加载到数据仓库时,都需要更新它。

  4. 它可能没有进行备份,因为它可从详细信息中重新生成。