数据仓库 - 概述


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

数据仓库一词最初由 Bill Inmom 于 1990 年发明。数据仓库始终与操作数据库分开。

DW 系统中的数据是从操作事务系统加载的,例如 -

  • 销售量
  • 营销
  • 人力资源
  • 单片机等

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

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

数据仓库

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

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

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

数据仓库的特点

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

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

数据仓库与操作数据库

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

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

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

  • 操作数据库支持多个事务的并行处理。需要并发控制和恢复机制来维护数据库的一致性。

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

数据仓库架构

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

数据源层

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

整合层

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

表示层

最终用户用于执行 BI 报告。DW 系统中的数据由 BI 用户访问并用于报告和分析。

下图显示了数据仓库系统的常见架构。

数据仓库架构

数据仓库的特征

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

  • 面向主题- 在 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 系统中的数据未标准化。

联机事务处理

数据集市与数据仓库

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

数据集市与数据仓库

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

事实与维度表

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

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

客户 ID 产品编号 时间编号 售出数量
1110 25 2 125
1210 28 4 第252章

维度表表示维度的特征。客户维度可以包含 Customer_Name、Phone_No、Sex 等。

客户 ID 客户名称 电话 性别
1110 莎莉 1113334444 F
1210 亚当 2225556666 中号