1988年,IBM公司在面对企业信息系统日益分散、数据孤岛问题日益严重的背景下,首次提出了”信息仓库”(Information Warehouse)的概念。

1991年,数据仓库领域迎来重要里程碑。被誉为”数据仓库之父”的Bill Inmon(比尔·恩门)出版了开创性的著作《Building the Data Warehouse》。该书首次系统性地定义了数据仓库的概念。

数仓四大特征

1. 面向主题的(Subject Oriented)

主题是一个抽象的概念,是较高层次上企业信息系统中的数据综合、归类并进行分析利用的抽象。在逻辑意义上,它是对应企业中某一宏观分析领域所涉及的分析对象。

面向主题的数据组织方式是数据仓库的核心特征之一,它通过业务主题而非具体应用来组织数据。

2. 集成的(Integrated)

数据仓库的数据来源非常广泛,通常包括:

  • 内部数据源:企业内部的多个业务系统数据库如ERP、CRM、SCM等,各类操作型数据文件,用户行为日志,企业内部文档数据
  • 外部数据源:第三方数据供应商提供的数据,公开数据集,社交媒体数据,行业报告和市场调研数据

操作型数据与分析性数据的主要区别体现在数据特征差异、数据集成挑战和数据转换过程。数据转换过程包括数据清洗、数据转换、数据集成和数据加载,采用ETL(抽取-转换-加载)或ELT(抽取-加载-转换)流程。

3. 相对稳定的(Non-Volatile)

数据仓库数据反映的是一段相当长的时间历史数据的内容,是不同时点的数据库快照的集合,以及基于这些快照进行统计、综合和重组的导出数据。

数据稳定主要是针对应用而言,数据仓库的用户对数据的操作大多是数据查询或比较复杂的挖掘,一旦数据进行数据仓库后,一般情况下被较长时间保留。

4. 反映历史变化的(Time Variant)

数据仓库包含各种粒度的历史数据,数据仓库中的数据可能与某个特定日期、星期、月份、季度或者年份有关。

虽然数据仓库不会修改数据,但并不是说数据仓库的数据是永远不变的。数据仓库的数据也需要更新,以适应决策的需要:

  • 数据仓库的数据时限一般要远远长于操作型数据的时限
  • 业务系统存储的是当前数据,而数据仓库中的数据是历史数据
  • 数据仓库中的数据是按照时间的顺序追加的,都带有时间属性

数仓作用

  • 整合企业业务数据,建立统一的数据中心
  • 产生业务报表,了解企业的经营情况
  • 为企业运营、决策提供数据支持
  • 可以作为各个业务的数据源,形成业务数据互相反馈的良性循环
  • 分析用户行为数据,通过数据挖掘来降低投入成本,提高投入效果
  • 开发数据产品,直接或间接的为企业盈利

对比数据库:OLTP vs OLAP

数据库与数据仓库的区别,实际上比的是OLTP与OLAP的区别。

OLTP(联机事务处理)

也称为面向交易的处理系统。主要针对具体业务在数据库系统的日常操作,通常对少数记录进行查询、修改。用户较为关心操作的响应时间、数据的安全性、完整性和并发支持的用户数等问题。

OLAP(联机分析处理)

一般针对某些主题的历史数据进行分析,支持管理决策。

本质对比

特性OLTPOLAP
目的日常事务处理分析决策
数据当前数据历史数据
操作增删改查查询为主
设计面向事务面向主题
范式符合范式反范式

以银行为例

  • 数据库(事务系统):客户在银行做的每笔交易都会写入数据库,用来记账
  • 数据仓库(分析系统):某银行分行一个月发生了多少次交易,该分行当前存款余额是多少

数据仓库是数据库已经存在的情况下,为了进一步挖掘数据资源、为了决策需要而产生的,它绝对不是所谓的大型数据库。