一、数据仓库
数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策。
(1) 面向主题:指数据仓库中的数据是按照一定的主题域进行组织。
(2)集成:指对原有分散的数据库数据经过系统加工, 整理得到的消除源数据中的不一致性。
(3)相对稳定:指一旦某个数据进入数据仓库以后只需要定期的加载、刷新。
(4)反映历史变化:指通过这些信息,对企业的发展历程和未来趋势做出定量分析预测。
二、数据库与数据仓库的区别:
1.简而言之,数据库是面向事务的设计,数据仓库是面向主题设计的。
2.数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。
3.数据库设计是尽量避免冗余,一般采用符合范式的规则来设计,数据仓库在设计是有意引入冗余,采用反范式的方式来设计。
4.数据库是为捕获数据而设计,数据仓库是为分析数据而设计,它的两个基本的元素是维表和事实表。维是看问题的角度,比如时间,部门,
维表放的就是这些东西的定义,事实表里放着要查询的数据,同时有维的ID。
三、数据仓库组成
数据仓库系统的组成部分有:针对 数据源的分析、数据的迁移、(数据的存储结构)、元数据管理等。
四、数据仓库之元数据
元数据主要包括技术元数据与业务元数据。
(1)技术元数据
技术元数据是存储关于商业智能系统技术细节的数据,是用于开发和管理商业智能系统使用的数据。它主要包括以下信息:商业智能系统结构的描述,包括对数据源、数据转换、抽取过程、数据加载策略以及对目标数据库的定义等内容;还包括数据仓库使用的模式、视图、维度、层次结构、类别和属性的定义,以及立方体的存储模式等信息。 总之,技术元数据提供给系统管理人员和数据仓库开发人员使用。
(2)业务元数据
业务元数据从业务角度描述了商业智能系统中的数据,是介于使用者和真实系统之间的语义层,使得不懂计算机技术的业务人员也能够“理解”商业智能系统中的数据。业务元数据使用业务名称、定义、描述等信息表示数据仓库中的各种属性和概念。业务元数据主要包括以下信息:用户的业务术语和它们表达的数据模型信息、对象名称及其属性,数据的来源信息和数据访问的规则信息,商业智能系统提供的各种分析方法以及报表展示的信息。业务元数据使数据仓库管理人员和用户更好地理解和使用数据仓库,用户通过查看业务元数据可以清晰地理解各指标的含义,指标的计算方法等信息。
元数据的作用包括:便于商业智能系统的集成和可重用,保证数据仓库的数据质量和可维护性,帮助业务人员和技术人员更好地理解当前业务和系统数据,提高商业智能系统的管理效率。
五、数据集市与数据仓库
数据仓库是企业级的,能为整个企业各个部门的运行提供决策支持手段;而数据集市则是一种微型的数据仓库,它通常有更少的数据,更少的主题区域,以及更少的历史数据,因此是部门级的,一般只能为某个局部范围内的管理人员服务,因此也称之为部门级数据仓库。数据仓库和数据集市之间的区别如下图:
数据仓库和数据集市的区别可从如下三个方面进行理解:
(1) 数据仓库向各个数据集市提供数据
(2) 几个部门的数据集市组成一个数据仓库
(3) 下面从其数据内容特征进行分析,数据仓库中数据结构采用规范化模式,数据集市中的数据结构采用星型模式,通常仓库中数据粒度比集市的粒度要细,下图反映了数据结构和数据内容特征的区别
六、星型模型pk雪花模型
星形模型(Star Schema)和雪花模型(Snowflake Schema)是数据仓库中常用到的两种方式,而它们之间的对比要从四个角度来进行讨论。
1.数据优化
雪花模型使用的是规范化数据,也就是说数据在数据库内部是组织好的,以便消除冗余,因此它能够有效地减少数据量。通过引用完整性,其业务层级和维度都将存储在数据模型之中。
▲图1 雪花模型
相比较而言,星形模型实用的是反规范化数据。在星形模型中,维度直接指的是事实表,业务层级不会通过维度之间的参照完整性来部署。
▲图2 星形模型