📜  数据仓库-体系结构

📅  最后修改于: 2021-01-07 05:55:49             🧑  作者: Mango


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

业务分析框架

业务分析师从数据仓库获取信息,以衡量性能并进行重要调整,以赢得市场上的其他业务所有者。拥有数据仓库具有以下优点-

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

  • 数据仓库为我们提供了一致的客户和物料视图,因此有助于我们管理客户关系。

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

为了设计有效而高效的数据仓库,我们需要了解和分析业务需求并构建业务分析框架。每个人对数据仓库的设计都有不同的看法。这些视图如下-

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

  • 数据源视图-此视图显示由操作系统捕获,存储和管理的信息。

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

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

三层数据仓库架构

通常,数据仓库采用三层体系结构。以下是数据仓库体系结构的三层。

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

  • 中间层-在中间层,我们可以使用以下两种方式之一来实现OLAP服务器。

    • 通过关系OLAP(ROLAP),这是一个扩展的关系数据库管理系统。 ROLAP将多维数据上的操作映射到标准关系操作。

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

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

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

数据仓库架构

数据仓库模型

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

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

虚拟仓库

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

数据库

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

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

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

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

  • 实施数据集市周期是在短时间内(即数周而不是数月或数年)测量的。

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

  • 数据集市规模很小。

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

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

  • 数据集市非常灵活。

企业仓库

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

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

  • 数据是从操作系统和外部信息提供者集成而来的。

  • 这些信息的大小可能从几GB到几百GB,几TB甚至更大。

负载管理器

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

负载管理器的大小和复杂性在一个数据仓库到另一个数据仓库的特定解决方案之间有所不同。

负载管理器架构

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

  • 从源系统中提取数据。

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

  • 执行简单的转换,使其结构类似于数据仓库中的结构。

负载管理器

从源提取数据

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

快速加载

  • 为了最大程度地减少总加载时间,需要在尽可能短的时间内将数据加载到仓库中。

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

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

  • 网关技术被证明是不合适的,因为当涉及大数据量时,网关技术往往无法发挥作用。

简单转换

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

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

仓库经理

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

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

仓库经理架构

仓库经理包括以下内容-

  • 控制过程
  • 存储过程或带有SQL的C
  • 备份/恢复工具
  • SQL脚本

仓库经理

仓库经理执行的操作

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

  • 根据基础数据创建索引,业务视图,分区视图。

  • 生成新的聚合并更新现有的聚合。生成规范化。

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

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

  • 归档已达到其使用期限的数据。

–仓库管理器还分析查询概要文件以确定索引和聚合是适当的。

查询管理器

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

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

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

查询管理器架构

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

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

查询管理器

详细资料

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

下图显示了详细信息的存储位置及其使用方式的图形印象。

详细资料

注意-如果将详细信息保持离线状态以最大程度地减少磁盘存储,则在归档之前,我们应确保已提取,清理并转换数据为starflake模式。

摘要信息

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

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

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

  • 这增加了运营成本。

  • 每当将新数据加载到数据仓库中时,都需要对其进行更新。

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