数据仓库 - 架构


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

业务分析框架

业务分析师从数据仓库获取信息来衡量性能并做出关键调整,以赢得市场上的其他业务持有者。拥有数据仓库具有以下优点 -

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

  • 数据仓库为我们提供了客户和项目的一致视图,因此,它可以帮助我们管理客户关系。

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

要设计一个有效、高效的数据仓库,我们需要了解和分析业务需求,构建业务分析框架。每个人对数据仓库的设计都有不同的看法。这些观点如下:

  • 自顶向下视图- 此视图允许选择数据仓库所需的相关信息。

  • 数据源视图- 该视图呈现操作系统捕获、存储和管理的信息。

  • 数据仓库视图- 该视图包括事实表和维度表。它表示存储在数据仓库内的信息。

  • 业务查询视图- 这是从最终用户的角度来看的数据视图。

三层数据仓库架构

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

  • 底层- 架构的底层是数据仓库数据库服务器。它就是关系数据库系统。我们使用后端工具和实用程序将数据输入底层。这些后端工具和实用程序执行提取、清理、加载和刷新功能。

  • 中间层- 在中间层,我们有 OLAP 服务器,可以通过以下方式之一实现。

    • 采用关系型OLAP(ROLAP),这是一种扩展的关系数据库管理系统。ROLAP 将多维数据的操作映射到标准关系操作。

    • 通过多维OLAP(MOLAP)模型,直接实现多维数据和操作。

  • 顶层- 该层是前端客户端层。该层包含查询工具和报告工具、分析工具和数据挖掘工具。

下图描述了数据仓库的三层架构 -

数据仓库架构

数据仓库模型

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

  • 虚拟仓库
  • 数据库
  • 企业仓库

虚拟仓库

操作数据仓库的视图称为虚拟仓库。建立虚拟仓库很容易。构建虚拟仓库需要运营数据库服务器上有多余的容量。

数据库

数据集市包含组织范围数据的子集。该数据子集对于组织的特定组很有价值。

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

关于数据集市要记住的要点 -

  • 基于Windows或基于Unix/Linux的服务器用于实现数据集市。它们是在低成本服务器上实现的。

  • 实施数据集市周期是在短时间内测量的,即以周而不是数月或数年为单位。

  • 如果数据集市的规划和设计不是在组织范围内进行的,那么从长远来看,数据集市的生命周期可能会很复杂。

  • 数据集市规模较小。

  • 数据集市是按部门定制的。

  • 数据集市的来源是按部门结构化的数据仓库。

  • 数据集市非常灵活。

企业仓库

  • 企业仓库收集整个组织的所有信息和主题

  • 它为我们提供了企业范围的数据集成。

  • 数据来自操作系统和外部信息提供商。

  • 这些信息的大小可以从几 GB 到数百 GB、TB 或更大。

负载管理器

该组件执行提取和加载进程所需的操作。

负载管理器的大小和复杂性因不同数据仓库的特定解决方案而异。

负载管理器架构

负载管理器执行以下功能 -

  • 从源系统中提取数据。

  • 快速将提取的数据加载到临时数据存储中。

  • 对类似于数据仓库中结构的结构进行简单转换。

负载管理器

从源中提取数据

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

快速加载

  • 为了最小化总加载窗口,需要以最快的时间将数据加载到仓库中。

  • 转换影响数据处理的速度。

  • 在应用转换和检查之前将数据加载到关系数据库中会更有效。

  • 事实证明,网关技术并不合适,因为当涉及大量数据时,它们的性能往往不佳。

简单的转换

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

  • 删除仓库内所有不需要的列。
  • 将所有值转换为所需的数据类型。

仓库经理

仓库经理负责仓库管理流程。它由第三方系统软件、C程序和shell脚本组成。

仓库经理的规模和复杂性因具体解决方案而异。

仓库经理架构

仓库经理包括以下内容 -

  • 控制过程
  • 存储过程或 C 与 SQL
  • 备份/恢复工具
  • SQL脚本
仓库经理

仓库经理执行的操作

  • 仓库经理分析数据以执行一致性和引用完整性检查。

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

  • 生成新的聚合并更新现有聚合。生成标准化。

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

  • 备份数据仓库中的数据。

  • 对已达到捕获寿命终点的数据进行归档。

注意- 仓库经理还分析查询配置文件以确定索引和聚合是否合适。

查询管理器

  • 查询管理器负责将查询定向到合适的表。

  • 通过将查询定向到适当的表,可以提高查询和响应生成的速度。

  • 查询管理器负责调度用户提出的查询的执行。

查询管理器架构

以下屏幕截图显示了查询管理器的体系结构。它包括以下内容:

  • 通过 C 工具或 RDBMS 进行查询重定向
  • 存储过程
  • 查询管理工具
  • 通过 C 工具或 RDBMS 进行查询调度
  • 通过第三方软件进行查询调度
查询管理器

详细资料

详细信息不会在线保存,而是聚合到下一个详细级别,然后存档到磁带。数据仓库的详细信息部分将详细信息保存在星片模式中。详细信息被加载到数据仓库中以补充聚合数据。

下图直观地展示了详细信息的存储位置及其使用方式。

详细资料

注意- 如果详细信息离线保存以最小化磁盘存储,我们应该确保数据在归档之前已被提取、清理并转换为星片模式。

摘要信息

摘要信息是存储预定义聚合的数据仓库的一部分。这些聚合由仓库经理生成。摘要信息必须被视为瞬态信息。它会随时变化,以响应不断变化的查询配置文件。

有关摘要信息的注意事项如下 -

  • 摘要信息可加快常见查询的性能。

  • 它增加了运营成本。

  • 每当新数据加载到数据仓库中时就需要更新它。

  • 它可能尚未备份,因为它可以根据详细信息重新生成。