数据仓库 – 概述
数据仓库 – 概述
数据仓库由来自多个异构数据源的数据组成,用于分析报告和决策制定。数据仓库是存储来自不同数据源和应用程序的数据的中心位置。
术语数据仓库由 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代表Online Transaction Processing,而OLAP代表Online Analytical Processing
在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 系统中未规范化。
数据集市与数据仓库
数据集市专注于单个功能区域,代表了数据仓库的最简单形式。考虑一个包含销售、营销、人力资源和财务数据的数据仓库。数据集市专注于单一功能领域,如销售或营销。
在上图中,您可以看到数据仓库和数据集市之间的区别。
事实与维度表
事实表表示对其执行分析的度量。它还包含维度键的外键。
例如– 每笔销售都是事实。
Cust Id | 产品编号 | 时间 ID | 售出数量 |
---|---|---|---|
1110 | 25 | 2 | 125 |
1210 | 28 | 4 | 252 |
维度表表示维度的特征。Customer 维度可以有 Customer_Name、Phone_No、Sex 等。
Cust Id | 客户名称 | 电话 | 性别 |
---|---|---|---|
1110 | 莎莉 | 1113334444 | F |
1210 | 亚当 | 2225556666 | 米 |