# 数据仓库

# 数据仓库架构

为企业制定决策,提供数据支持,帮助企业改进流程,提高产品质量等。

数据仓库,并不是数据的最终目的地,这些准备包括对数据的:备份、清洗、聚合、统计等。

数据仓库,英文名称为 Data Warehouse,可简写为 DW 或 DWH。数据仓库, 是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。 它是单个数据存储,出于分析性报告和决策支持目的而创建。 为需要 业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。

# 数据仓库基本特征

数据仓库是面向主题的、集成的、非易失的和时变的数据集合,用以支持管理决策。

# 面向主题

传统数据库中,最大的特点是面向应用进行数据的组织,各个业务系统可能是相互分离的。 而数据仓库则是面向主题的。

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

# 集成性

通过对分散、独立、异构的数据库数据进行抽取、清理、转换和汇总便得到了数据仓库的 数据,这样保证了数据仓库内的数据关于整个企业的一致性。

数据仓库中的综合数据不能从原有的数据库系统直接得到。因此在数据进入数据仓库之前, 必然要经过统一与综合,这一步是数据仓库建设中最关键、最复杂的一步,所要完成的工作有:

  • 要统一源数据中所有矛盾之处,如字段的同名异义、异名同义、单位不统一、字长不一致,等等。
  • 进行数据综合和计算。数据仓库中的数据综合工作可以在从原有数据库抽取数据时生成, 但许多是在数据仓库内部生成的,即进入数据仓库以后进行综合生成的。

# 非易失性

不可更新性

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

数据非易失性主要是针对应用而言。数据仓库的用户对数据的操作大多是数据查询或比较复 杂的挖掘,一旦数据进入数据仓库以后,一般情况下被较长时间保留。数据仓库中一般有大 量的查询操作,但修改和删除操作很少。因此,数据经加工和集成进入数据仓库后是极少更 新的,通常只需要定期的加载和更新。

# 时变性

数据仓库包含各种粒度的历史数据。数据仓库中的数据可能与某个特定日期、星期、月份、 季度或者年份有关。数据仓库的目的是通过分析企业过去一段时间业务的经营状况,挖掘 其中隐藏的模式。虽然数据仓库的用户不能修改数据,但并不是说数据仓库的数据是永远 不变的。分析的结果只能反映过去的情况,当业务变化后,挖掘出的模式会失去时效性。 因此数据仓库的数据需要更新,以适应决策的需要。从这个角度讲,数据仓库建设是一个 项目,更是一个过程。数据仓库的数据随时间的变化表现在以下几个方面:

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

# 使用场景

# 数据仓库与数据库的区别

  1. 数据库: 传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。
  2. 数据仓库:数据仓库系统的主要应用主要是 OLAP(On-Line Analytical Processing), 支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。
序号 差异项 数据库 数据仓库 备注
1 特征 操作处理 信息处理
2 面向 事务 分析
3 用户 DBA、开发 经理、主管、分析人员
4 功能 日常操作 长期信息需求、决策支持
5 DB 设计 基于 ER 模型,面向应用星形/雪花模型,面向主题
6 数据 当前的、最新的 历史的、跨时间维护
7 汇总 原始的、高度详细 汇总的、统一的
8 视图 详细、一般关系 汇总的、多维的
9 工作单元 短的、简单事务 复杂查询
10 访问 读/写 大多为读
11 关注 数据进入 信息输出
12 操作 主键索引操作 大量的磁盘扫描
13 用户数 数百到数亿 数百
14 DB 规模 GB 到 TB >= TB
15 优先 高性能、高可用性 高灵活性
16 度量 事务吞吐量 查询吞吐量、响应时间

# 数据仓库的作用在于

数据结构为了分析和查询的便利; 只读优化的数据库,即不需要它写入速度多么快,只要做大量数据的复杂查询的速度足够快就行了。 那么在这里前一种业务数据库(读写都优化)的是业务性数据库,后一种是分析性数据库,即数据仓库。

# 场景需求

  • 数据量超过 TB 级,且采集的数据在不断的增加 ;
  • 各个应用数据较为分散,无法集中收集 ;
  • 审计需要采集用户操作、点击、历史、访问等数据,未能做到及时保存和提供数据分析 ;
  • 用户明细和数据量统一不及时,数据分析较慢。

# 其它