数据仓库 - 概述

数据仓库由来自多个异构数据源的数据组成,用于分析报告和决策。数据仓库是存储来自不同数据源和应用程序的数据的中心位置。

数据仓库这个术语最早由 Bill Inmom 于 1990 年发明。数据仓库始终与操作数据库分开。

DW 系统中的数据是从操作事务系统(如 −)加载的。

  • 销售
  • 营销
  • 人力资源
  • 供应链管理等。

它可能经过操作数据存储或其他转换,然后加载到 DW 系统进行信息处理。

数据仓库用于报告和分析信息,并存储历史数据和当前数据。 DW 系统中的数据用于分析报告,随后业务分析师、销售经理或知识工作者会使用该报告进行决策。

数据仓库

在上图中,您可以看到数据来自多个异构数据源,然后进入数据仓库。数据仓库的常见数据源包括 −

  • 操作数据库
  • SAP 和非 SAP 应用程序
  • 平面文件(xls、csv、txt 文件)

BI(商业智能)用户可以访问数据仓库中的数据,以进行分析报告、数据挖掘和分析。业务用户、销售经理和分析师可利用它制定决策,制定未来战略。

数据仓库的特点

它是一个中央数据存储库,其中存储来自一个或多个异构数据源的数据。DW 系统存储当前数据和历史数据。通常,DW 系统存储 5-10 年的历史数据。 DW 系统始终与操作事务系统分开。

DW 系统中的数据用于不同类型的分析报告,范围从季度到年度比较。

数据仓库与操作数据库

数据仓库和操作数据库之间的区别如下 −

  • 操作系统专为已知工作负载和事务而设计,如更新用户记录、搜索记录等。但是,数据仓库事务更复杂,并呈现一般形式的数据。

  • 操作系统包含组织的当前数据,而数据仓库通常包含历史数据。

  • 操作数据库支持并行处理多个事务。并发控制和恢复机制对于保持数据库的一致性必不可少。

  • 操作数据库查询允许读取和修改操作(插入、删除和更新),而 OLAP 查询仅需要对存储的数据进行只读访问(选择语句)。

数据仓库的架构

数据仓库涉及数据清理、数据集成和数据整合。数据仓库具有 3 层架构 −

数据源层

它定义了数据如何进入数据仓库。它涉及各种数据源和操作事务系统、平面文件、应用程序等。

集成层

它由操作数据存储和暂存区组成。暂存区用于执行数据清理、数据转换以及将数据从不同来源加载到数据仓库。由于有多个数据源可用于提取不同时区的数据,因此暂存区用于存储数据,稍后对数据进行转换。

表示层

最终用户使用该层执行 BI 报告。BI 用户可访问 DW 系统中的数据并将其用于报告和分析。

下图显示了数据仓库系统的通用架构。

数据仓库架构

数据仓库的特征

以下是数据仓库的主要特征 −

  • 面向主题 −在 DW 系统中,数据按业务主题分类和存储,而不是按应用程序(如股权计划、股票、贷款等)分类和存储。

  • 集成 − 来自多个数据源的数据集成在数据仓库中。

  • 非易失性 − 数据仓库中的数据是非易失性的。 这意味着当数据加载到 DW 系统中时,它不会被更改。

  • 时间变量 − 与仅包含当前数据的事务系统相比,DW 系统包含历史数据。 在数据仓库中,您可以查看 3 个月、6 个月、1 年、5 年等的数据。

OLTP 与 OLAP

首先,OLTP 代表联机事务处理,而 OLAP 代表联机分析处理

在 OLTP 系统中,有大量的短联机事务,例如 INSERT、UPDATE 和 DELETE。

而在 OLTP 系统中,有效的衡量标准是短事务的处理时间,并且非常少。它控制多访问环境中的数据完整性。对于 OLTP 系统,每秒的事务数衡量有效性。OLTP 数据仓库系统包含当前和详细数据,并在实体模型 (3NF) 中的架构中维护。

例如

零售店中的日常交易系统,每天插入、更新和删除客户记录。它提供更快的查询处理。 OLTP 数据库包含详细和当前数据。用于存储 OLTP 数据库的架构是实体模型。

与事务系统相比,OLAP 系统中的事务数量较少。执行的查询本质上很复杂,涉及数据聚合。

什么是聚合?

我们保存包含聚合数据的表,例如年度(1 行)、季度(4 行)、月度(12 行)等,如果有人必须进行年度比较,则只会处理一行。但是,在未聚合的表中,它将比较所有行。这称为聚合。

OLAP 系统中可以使用各种聚合函数,如 Sum、Avg、Max、Min 等。

例如

SELECT Avg(salary)
FROM employee
WHERE title = 'Programmer';

主要区别

这些是 OLAP 和 OLTP 系统之间的主要区别。

  • 索引 − OLTP 系统只有少数索引,而 OLAP 系统中则有许多索引以优化性能。

  • 连接 − 在 OLTP 系统中,大量连接和数据被规范化。然而,在 OLAP 系统中,连接较少,并且非规范化。

  • 聚合 − 在 OLTP 系统中,数据未聚合,而在 OLAP 数据库中则使用更多聚合。

  • 规范化 − OLTP 系统包含规范化数据,但在 OLAP 系统中数据未规范化。

OLTP

数据集市与数据仓库

数据集市专注于单一功能领域,代表数据仓库的最简单形式。考虑一个包含销售、营销、人力资源和财务数据的数据仓库。数据集市专注于销售或营销等单一功能领域。

数据集市与数据仓库

在上图中,您可以看到数据仓库和数据集市之间的区别。

事实表与维度表

事实表表示执行分析的度量。它还包含维度键的外键。

例如 −每笔销售都是事实。

客户 ID 产品 ID 时间 ID 销售数量
1110 25 2 125
1210 28 4 252

维度表表示特征维度。客户维度可以有客户姓名、电话号码、性别等。

Cust Id Cust_Name Phone Sex
1110 Sally 1113334444 F
1210 Adam 2225556666 M