Cognos 简明教程

Data Warehouse - Overview

数据仓库包含 multiple heterogeneous data sources 中的数据,用于分析报告和决策制定。数据仓库是一个用于存储来自不同数据源和应用程序的数据的中心位置。

数据仓库一词最早是由比尔·因蒙在 1990 年发明的。数据仓库始终有别于操作型数据库。

数据仓库系统中的数据来自操作事务系统,如下所示−

  1. Sales

  2. Marketing

  3. HR

  4. SCM, etc.

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

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

data warehouse

在上述图片中,可以看到数据来自 multiple heterogeneous data 源到数据仓库。数据仓库的常见数据源包括−

  1. Operational databases

  2. SAP and non-SAP Applications

  3. 平面文件(xls、csv、txt 文件)

业务智能 (BI) 用户通过数据仓库中的数据访问分析报告、数据挖掘和分析。此类数据由业务用户、销售经理、分析师用于决策制定,以定义未来战略。

Features of a Data Warehouse

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

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

Data Warehouse Vs Operational Database

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

  1. Operational System 设计用于已知工作负载和事务,如更新用户记录、搜索记录等。但是,数据仓库事务更加复杂,并提供通用形式的数据。

  2. Operational System 包含组织的当前数据,而数据仓库通常包含历史数据。

  3. Operational Database 支持多个事务的并行处理。需要并发控制和恢复机制来维持数据库的一致性。

  4. Operational Database 查询允许读取和修改操作(插入、删除和更新),而 OLAP 查询仅需要读取存储数据的只读访问(Select 语句)。

Architecture of Data Warehouse

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

Data Source Layer

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

Integration Layer

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

Presentation Layer

这用于由终端用户执行业务智能报告。数据仓库系统中的数据由业务智能用户访问,并用于报告和分析。

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

data warehouse architecture

Characteristics of a Data Warehouse

以下是数据仓库的关键特征−

  1. Subject Oriented − 在 DW 系统中,数据按照业务主题(如股票期权计划、股票、贷款等)进行分类和存储,而不是由应用程序进行分类和存储。

  2. Integrated − 来自多个数据源的数据被集成在数据仓库中。

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

  4. Time Variant − DW 系统包含历史数据,而事务系统只包含当前数据。在数据仓库中,你可以查看 3 个月、6 个月、1 年、5 年等时间段的数据。

OLTP vs OLAP

首先,OLTP 代表 Online Transaction Processing ,而 OLAP 代表 Online Analytical Processing

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

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

For Example

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

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

What is an Aggregation?

如果有人要进行年与年的比较,我们保存包含聚合数据(如年(1 行)、季度(4 行)、月(12 行)等)的表,则只处理一行。然而,在非聚合表中,它将比较所有行。这称为聚合。

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

For Example

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

Key Differences

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

  1. Indexes − OLTP 系统只有几个索引,而 OLAP 系统有许多索引,用于优化性能。

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

  3. Aggregation − 在 OLTP 系统中,数据未聚合,而在 OLAP 数据库中使用了更多聚合。

  4. Normalization − OLTP 系统包含规范化数据,但 OLAP 系统中未规范化数据。

oltp

Data Mart Vs Data Warehouse

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

data mart vs data warehouse

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

Fact vs Dimension Table

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

For example − 每一个销售都是一个事实。

Cust Id

Prod Id

Time Id

Qty Sold

1110

25

2

125

1210

28

4

252

维度表代表维度的特征。客户维度可以具有 Customer_Name、Phone_No、Sex 等等。

Cust Id

Cust_Name

Phone

Sex

1110

Sally

1113334444

F

1210

Adam

2225556666

M