数据仓库
数据仓库,英文名称为DataWarehouse,可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。数据仓库之父比尔·恩门(BillInmon)在年出版的“BuildingtheDataWarehouse”(《建立数据仓库》)一书中所提出的定义被广泛接受--数据仓库(DataWarehouse)是一个面向主题的(SubjectOriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(TimeVariant)的数据集合,用于支持管理决策(DecisionMakingSupport)。
数据仓库1.面向主题:在较高层次上将企业信息系统的数据综合归并进行分析利用的抽象的概念。每个主题基本上对应一个相应的分析领域。
2.集成的:企业级数据,同时数据要保持一致性、完整性、有效性、精确性
3.稳定的:从某个时间段来看是保持不变的,没有更新操作、删除操作,以查询分析为主
4.反应历史变化
数据仓库发展历程
传统数据仓库发展历程
1、萌芽阶段:数据仓库概念最早可追溯到20世纪70年代,MIT提出希望提供一种架构将业务处理系统和分析处理分为不同的层次。
2、探索阶段:20世纪80年代,建立TechnicalArchitecture2规范,该明确定义了分析系统的四个组成部分:数据获取、数据访问、目录、用户服务。
3、雏形阶段:年,IBM第一次提出信息仓库的概念:一个结构化的环境,能支持最终用户管理其全部的业务,并支持信息技术部门保证数据质量;抽象出基本组件:数据抽取、转换、有效性验证、加载、cube开发等,基本明确了数据仓库的基本原理、框架结构,以及分析系统的主要原则。
4、确立阶段:年,BillInmon出版《BuildingtheDataWarehouse》提出了更具体的数据仓库原则:面向主题的、集成的、包含历史的、不可更新的、面向决策支持的、面向全企业的、最明细的数据存储、快照式的数据获取。尽管有些理论目前仍有争议,但凭借此书获得数据仓库之父的殊荣。
BillInmon数仓
年,BillInmon出版《BuildingtheDataWarehouse》提出了更具体的数据仓库原则:数据仓库是面向主题的,集成的,包含历史的,不可更新的,面向决策支持的,面向全企业的,最明细的数据存储,数据快照式的数据获取BillInmon凭借此书获得“数据仓库之父”的称号
BillInmon主张自上而下的建设企业数据仓库,认为数据仓库是一个整体的商业智能系统的一部分。一家企业只有一个数据仓库,数据集市的信息来源出自数据仓库,在数据仓库中,信息存储符合第三范式,大致架构:
编辑搜图
自上而下:分散异构的数据源-数据仓库-数据集市
1、操作型系统的数据和体系外数据需要经过ETL过程,加载到企业数据仓库中
2、企业数据仓库是企业信息化工厂的枢纽,是原子数据的集成仓库,其目的是将附加的数据存储用于各类分析型系统;在数据仓库中会对数据进行清洗,并抽取实体-关系。
3、数据集市是针对不同主题的聚集区域
RalphKimball数仓
RalphKimball出版《TheDataWarehouseToolkit》,其主张自下而上的建立数据仓库,推崇建立数据集市,认为数据仓库是企业内所有数据集市的集合,信息总是被存储在多维模型当中,其思路:
Kimball的模型是自底向上的,即从数据集市-数据仓库-分散异构的数据源。
编辑搜图
1、Kimball的模型的数据源往往是给定的若干个数据库表,数据较为稳定但是数据之间的关联关系比较复杂,需要从这些OLTP中产生的事务型数据结构抽取出分析型数据结构。Kimball是以最终任务为导向,将数据按照目标拆分出不同的表需求,通过ETL导入数据集市层
2、Kimball模型将分散异构的数据源经ETL转化为事实表和维度表导入数据集市,数据集市由若干个事实表和维度表组成
3、在数据集市将事实表和维度表根据分析主题组合后导入数据仓库中,用于数据分析
Inmon与Kimball建模总结
两种思路和观点在实际的操作中都很难成功的完成项目交付,直至最终BillInmon提出了新的BI架构CIF(CorporationInformationFactory),把数据集市包含了进来。
CIF的核心是将数仓架构划分为不同的层次以满足不同场景的需求,比如常见的ODS(OperationalDataStore)、DW(DataWarehouse)、DM(DataMarket)等,每层根据实际场景采用不同的建设方案,该思路也是目前数据仓库建设的架构指南,但自上而下还是自下而上的进行数据仓库建设,并未统一,并不是绝对的。
共同点
均极力推崇数据仓库,认为从OLTP到BI分析之间建立数据仓库是很有必要的;
均认为数据仓库的建立需要从企业整体角度出发,迭代开发,尽量避免按部门建立独立的数据仓库;
数据进入数据仓库之前,需要经过ETL整合。
不同点
Inmon
数仓概念:数据仓库(DataWarehouse)是一个面向主题的(SubjectOriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(TimeVariant)的数据集合,用于支持管理决策(DecisionMakingSupport);
自上而下按照主题建立数据仓库,如按照客户、供应商、产品等建立不同的主题,开发过程中每次增加一个主题;
当建立的数据集市是跨多个主题的,需要以整合好的主题数据为基础。
Kimball
自下而上,维度建模;
先按照业务主线建立最小粒度的事实表,再建立维度表,形成数据集市,通过“一致维度”能够共同看到不同数据集市的信息;
想了解给更多数仓、数据治理、大数据相关