数据仓库 - 概述



数据仓库包含来自多个异构数据源的数据,用于分析报告和决策制定。数据仓库是一个集中存放来自不同数据源和应用程序的数据的地方。

数据仓库一词最早是由比尔·英曼在 1990 年提出的。数据仓库始终与操作数据库分开保存。

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

  • 销售
  • 行销
  • 人事
  • SCM 等

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

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

Data Warehouse

在上面的图片中,您可以看到数据正从多个异构数据源流入数据仓库。数据仓库的常见数据源包括:

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

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

数据仓库的特征

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

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

数据仓库与操作数据库

数据仓库和操作数据库之间的差异如下 -

  • 操作系统旨在用于已知的工作负载和事务,如更新用户记录、搜索记录等。但是,数据仓库事务更复杂,表示一般形式的数据。

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

  • 操作数据库支持多重事务的并行处理。并发控制和恢复机制对于维持数据库的一致性是必需的。

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

数据仓库的架构

进行数据仓库包含数据清理、数据整合和数据整合。数据仓库采用 3 层架构 -

数据源层

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

整合层

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

演示层

这用于执行最终用户的商业智能报告。DW 系统中的数据由商业智能用户访问,并用于报告和分析。

下图显示了数据仓库系统的一般架构。

Data Warehouse Architecture

数据仓库的特征

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

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

  • 整合 - 来自多个数据源的数据都整合到数据仓库中。

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

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

OLTP 与 OLAP

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

在 OLTP 系统中,有大量短的联机事务,例如插入、更新和删除。

而在 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

数据市集与数据仓库

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

Data Mart Vs Data Warehouse

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

事实表与维度表

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

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

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

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

客户 ID 客户姓名 电话号码 性别
1110 Sally 1113334444 F
1210 Adam 2225556666 M
广告