- 数据仓库教程
- DWH - 首页
- DWH - 概述
- DWH - 概念
- DWH - 术语
- DWH - 交付流程
- DWH - 系统流程
- DWH - 架构
- DWH - OLAP
- DWH - 关系型 OLAP
- DWH - 多维 OLAP
- DWH - 模式
- DWH - 分区策略
- DWH - 元数据概念
- DWH - 数据市场
- DWH - 系统管理员
- DWH - 流程管理员
- DWH - 安全
- DWH - 备份
- DWH - 调优
- DWH - 测试
- DWH - 未来展望
- DWH - 面试题
- DWH 有用资源
- DWH - 快速指南
- DWH - 有用资源
- DWH - 讨论
数据仓库 - 架构
本章将讨论数据仓库设计和架构的业务分析框架。
业务分析框架
业务分析师从数据仓库获取信息,以衡量绩效并进行关键调整,从而在市场上胜过其他业务持有者。拥有数据仓库具有以下优势:
由于数据仓库可以快速有效地收集信息,因此可以提高业务效率。
数据仓库为我们提供了客户和商品的一致视图,因此有助于我们管理客户关系。
数据仓库还可以通过以一致且可靠的方式跟踪长期趋势和模式来降低成本。
为了设计一个有效且高效的数据仓库,我们需要理解和分析业务需求并构建一个**业务分析框架**。每个人对数据仓库的设计都有不同的看法。这些观点如下:
**自上而下的视图** - 此视图允许选择数据仓库所需的相关信息。
**数据源视图** - 此视图显示运营系统捕获、存储和管理的信息。
**数据仓库视图** - 此视图包括事实表和维度表。它表示存储在数据仓库中的信息。
**业务查询视图** - 这是从最终用户的角度看待数据。
三层数据仓库架构
通常,数据仓库采用三层架构。以下是数据仓库架构的三层:
**底层** - 架构的底层是数据仓库数据库服务器。它是关系数据库系统。我们使用后端工具和实用程序将数据馈送到底层。这些后端工具和实用程序执行提取、清理、加载和刷新功能。
**中间层** - 在中间层,我们有 OLAP 服务器,可以通过以下任一方式实现。
通过关系型 OLAP (ROLAP),它是一个扩展的关系数据库管理系统。ROLAP 将多维数据上的操作映射到标准的关系操作。
通过多维 OLAP (MOLAP) 模型,它直接实现多维数据和操作。
**顶层** - 此层是前端客户端层。此层包含查询工具和报告工具、分析工具和数据挖掘工具。
下图描述了数据仓库的三层架构:
数据仓库模型
从数据仓库架构的角度来看,我们有以下数据仓库模型:
- 虚拟仓库
- 数据市场
- 企业仓库
虚拟仓库
对运营数据仓库的视图称为虚拟仓库。构建虚拟仓库很容易。构建虚拟仓库需要运营数据库服务器的额外容量。
数据市场
数据市场包含组织范围数据的一个子集。这个数据子集对组织的特定群体很有价值。
换句话说,我们可以说数据市场包含特定于特定群体的数据。例如,营销数据市场可能包含与商品、客户和销售相关的数据。数据市场局限于主题。
关于数据市场需要注意的几点:
使用基于 Windows 或 Unix/Linux 的服务器来实现数据市场。它们是在低成本服务器上实现的。
数据市场的实施周期以短时间段来衡量,即以周而不是月或年来衡量。
从长远来看,如果数据市场的规划和设计不是组织范围的,那么它的生命周期可能会很复杂。
数据市场规模较小。
数据市场由部门定制。
数据市场的来源是部门结构化数据仓库。
数据市场灵活。
企业仓库
企业仓库收集所有信息和跨越整个组织的主题
它为我们提供了企业范围的数据集成。
数据是从运营系统和外部信息提供商集成的。
此信息的大小从几吉字节到数百吉字节、太字节或更大不等。
加载管理器
此组件执行提取和加载过程所需的运算。
加载管理器的规模和复杂性因不同数据仓库的特定解决方案而异。
加载管理器架构
加载管理器执行以下功能:
从源系统提取数据。
将提取的数据快速加载到临时数据存储区。
执行简单的转换,使其结构类似于数据仓库中的结构。
从源提取数据
数据是从运营数据库或外部信息提供商提取的。网关是用于提取数据的应用程序程序。它由底层 DBMS 支持,并允许客户端程序生成在服务器上执行的 SQL。开放数据库连接 (ODBC)、Java 数据库连接 (JDBC) 是网关的示例。
快速加载
为了最大限度地减少总加载窗口,需要以尽可能快的速度将数据加载到仓库中。
转换会影响数据处理速度。
在应用转换和检查之前,将数据加载到关系数据库中更有效。
网关技术被证明是不合适的,因为当涉及大量数据时,它们往往性能不佳。
简单的转换
加载时可能需要执行简单的转换。完成此操作后,我们就可以进行复杂的检查。假设我们正在加载 EPOS 销售交易,我们需要执行以下检查
- 去除仓库中不需要的所有列。
- 将所有值转换为所需的数据类型。
仓库管理器
仓库管理员负责仓库管理流程。它由第三方系统软件、C 程序和 shell 脚本组成。
仓库管理器的规模和复杂性因特定解决方案而异。
仓库管理器架构
仓库管理器包括以下内容:
- 控制过程
- 存储过程或带有 SQL 的 C
- 备份/恢复工具
- SQL 脚本
仓库管理器执行的操作
仓库管理器分析数据以执行一致性和参照完整性检查。
针对基础数据创建索引、业务视图、分区视图。
生成新的聚合并更新现有的聚合。生成规范化。
将源数据转换并合并到已发布的数据仓库中。
备份数据仓库中的数据。
存档已达到捕获生命周期末尾的数据。
**注意** - 仓库管理器还会分析查询配置文件以确定索引和聚合是否合适。
查询管理器
查询管理器负责将查询定向到合适的表。
通过将查询定向到合适的表,可以提高查询和响应生成的效率。
查询管理器负责调度用户提出的查询的执行。
查询管理器架构
以下屏幕截图显示了查询管理器的架构。它包括以下内容
- 通过 C 工具或 RDBMS 进行查询重定向
- 存储过程
- 查询管理工具
- 通过 C 工具或 RDBMS 进行查询调度
- 通过第三方软件进行查询调度
详细信息
详细信息不会在线保留,而是会聚合到下一个详细级别,然后存档到磁带上。数据仓库的详细信息部分将详细信息保存在星型雪花模式中。将详细信息加载到数据仓库中以补充聚合数据。
下图显示了详细信息存储位置及其使用方法的图示。
**注意** - 如果详细信息脱机保存以最大限度地减少磁盘存储空间,我们应该确保数据在存档之前已提取、清理并转换为星型雪花模式。
汇总信息
汇总信息是数据仓库的一部分,用于存储预定义的聚合。这些聚合由仓库管理器生成。汇总信息必须被视为瞬态的。它会动态变化以响应不断变化的查询配置文件。
关于汇总信息需要注意的几点如下:
汇总信息加快了常用查询的性能。
它增加了运营成本。
每当将新数据加载到数据仓库时,都需要更新它。
它可能没有备份,因为它可以从详细信息中重新生成。