数据仓库 基础教程
1. 数据仓库概述
数据仓库(Data Warehouse,简称DW或者DWH)是通过集成来自多个异构数据源的数据来构建的。它支持分析报告、结构化和/或特别查询和决策制定。本教程采用循序渐进的方法来解释数据仓库的所有必要概念。
“数据仓库”一词最早是由Bill Inmon在1990年提出的。根据Inmon的说法,数据仓库是面向主题的、集成的、时变的、非易失性的数据集合。这些数据有助于分析人员在组织中做出明智的决策。
由于事务的发生,操作数据库每天都要经历频繁的变化。假设业务主管想要分析任何数据(如产品、供应商或任何消费者数据)的先前反馈,那么该主管将没有可用的数据来分析,因为先前的数据已经由于事务的变化而更新。
数据仓库在多维视图中为我们提供一般化和整合的数据。除了一般化和统一的数据视图外,数据仓库还为我们提供了在线分析处理(OLAP)工具。这些工具帮助我们在多维空间中进行交互式和有效的数据分析。这种分析的结果是数据泛化和数据挖掘。
将关联、聚类、分类、预测等数据挖掘功能与OLAP操作集成在一起,增强了多层次抽象知识的交互式挖掘。这就是为什么数据仓库现在已经成为数据分析和在线分析处理的重要平台。
理解数据仓库
- 数据仓库是一个数据库,它与组织的操作数据库分开。
- 数据仓库中不需要进行频繁的更新。
- 它拥有统一的历史数据,这有助于组织分析其业务。
- 数据仓库帮助管理人员组织、理解和使用他们的数据来制定战略决策。
- 数据仓库系统有助于集成各种不同的应用系统。
- 数据仓库系统有助于合并历史数据分析。
为什么要将数据仓库与操作数据库分开?
数据仓库与操作数据库需要分开的原因如下:
- 操作数据库是为众所周知的任务和工作负载构建的,例如搜索特定记录、索引等。相较而言,数据仓库查询通常很复杂,它们呈现的是一种通用的数据形式。
- 操作型数据库支持并发处理多个事务。操作数据库需要并发控制和恢复机制,以确保数据库的健壮性和一致性。
- 操作数据库查询允许读取和修改操作,而OLAP查询只需要对存储的数据进行只读访问。
- 操作数据库维护当前数据,而数据仓库维护历史数据。
数据仓库的特点
数据仓库的主要特性如下所述:
面向主题—数据仓库是面向主题的,因为它提供围绕主题的信息,而不是组织正在进行的操作。这些主题可以是产品、客户、供应商、销售、收入等。数据仓库并不关注正在进行的操作,而是关注用于决策制定的数据建模和分析。
集成式:通过集成关系数据库、平面文件等异构数据源的数据来构建数据仓库。这种集成增强了对数据的有效分析。
时变性−数据仓库中收集的数据以特定的时间段标识。数据仓库中的数据从历史角度提供信息。
非易失性−非易失性是指添加新数据时不擦除原有数据。数据仓库与操作数据库保持分离,因此操作数据库的频繁更改不会影响数据仓库。
数据仓库不需要事务处理、恢复和并发控制,因为它是物理存储的,与操作数据库是分开的。
数据仓库的应用
如前所述,数据仓库帮助业务主管去组织、分析和使用他们的数据进行决策。数据仓库是企业管理 计划-执行-评估“闭环”反馈系统的唯一组成部分。数据仓库广泛应用于以下领域:−
金融服务
银行服务
消费品服务
零售部门
控制生产
数据仓库的类型
信息处理、分析处理和数据挖掘是下面讨论的三种类型的数据仓库应用
信息处理−数据仓库可以对存储在其中的数据进行处理。数据可以通过查询、基本统计分析、使用交叉表、表格、图表或图形进行报告来处理。
分析处理−数据仓库支持对存储在其中的信息进行分析处理。可以通过基本的OLAP操作来分析数据,包括切片分析、向下钻取(drill down)、向上钻取(drill up,)和旋转(pivoting)。
数据挖掘−数据挖掘通过发现隐藏的模式和关联、构建分析模型、执行分类和预测来支持知识发现。这些挖掘结果可以通过可视化工具呈现出来。
OLAP VS OLTP
Sr.No. | Data Warehouse (OLAP) | Operational Database(OLTP) |
---|---|---|
1 | 它涉及信息的历史处理。 | 它涉及到日常的处理。 |
2 | OLAP系统由知识工作者(如执行人员、经理和分析师)使用。 | OLTP系统由文员、dba或数据库专业人员使用。 |
3 | 它被用来分析业务。 | 它是用来经营业务的 |
4 | 它关注的是信息输出。 | 它关注的是数据输入。 |
5 | 它基于星型模式、雪花模式和事实星座模式。 | 它基于实体关系模型。 |
6 | 它关注的是信息输出。 | 它是面向应用的。 |
7 | 它包含历史数据。 | 它包含当前数据。 |
8 | 它提供了汇总和合并的数据。 | 它提供了原始的和非常详细的数据。 |
9 | 它提供了数据的汇总和多维视图。 | 它提供了详细而扁平的数据关系视图。 |
10 | 用户数量数以百计。 | 用户数量以千为单位。 |
11 | 访问的记录数以百万计。 | 访问的记录数以10计。 |
12 | 数据库大小从100GB到100tb。 | 数据库大小为100mb ~ 100gb。 |
13 | 这些都是高度灵活的。 | 它提供了高性能。 |