BI三大技术支撑之数据仓库

Posted 互联网人才服务平台

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BI三大技术支撑之数据仓库相关的知识,希望对你有一定的参考价值。

商务智能有三大技术支撑:数据仓库(DW)、数据挖掘(DM)、OLAP,整个BI的技术架构如下:

 

数据仓库

以1992年Bill Inmon出版《Buildingthe Data Warehouse》为标志,数据仓库发展速度很快。Bill Inmon被誉为数据仓库之父,此概念得提出是在1991年,Bill Inmon对数据仓库所下的定义:数据仓库是面向主题的、集成的、稳定的、随时间变化的(变化周期一般为5--10年)数据集合,用以支持管理决策的过程。对于这个概念,对于初学者而言是及其苍白无力的,只有骨头没有肉,换个说法就是:数据仓库是指为解决单位或企业所面临的各种复杂的业务或经营问题,收集分散在内部和外部单位的各种历史的、详细的数据,建立以各种主题为导向、唯一的中央的数据库管理系统,让领导、业务负责人、知识工作者和用户等,使用各种前端分析软件工具访问中央的数据库系统,以科学的方法快速地发现任何复杂问题的可能答案,提高决策质量的整体解决方案,使决策具有战略性。


数据仓库特点

数据仓库不是可以买得到的产品,而是一种面向分析的数据存储方案,对于数据仓库的概念,可以这样理解:

1.数据仓库用于支持决策,面向分析性数据处理,不同于业务效率的操作型数据库;

2.对于企业内外的各个异构数据源,按照决策主题选择数据并以新的数据模型存储。

数据仓库主要有以下特征:

1.面向主题

    数据仓库中的数据是按照各种主题来组织的。主题在数据仓库中的物理实现是一系列的相关表,这不同于面向应用环境。如保险公司按照应用组织可能是汽车保险、生命保险、伤亡保险,而数据仓库是按照客户、政策、保险金和索赔来组织数据。

面向主题的数据组织方式可在较高层次上对分析对象的数据给出完整、一致的描述,能完整、统一的刻画各个分析对象所涉及的企业的各项数据以及数据之间的联系,从而适应企业各个部门的业务活动特点和企业数据的动态特征,从根本上实现数据与应用的分离。

2.数据的高度集成性

    数据仓库中的数据是从原有分散的源数据库中提取出来的,其每一个主题所对应的源数据在原有的数据库中有许多冗余和不一致,且与不同的应用逻辑相关。为了创建一个有效的主题域,必须将这些来自不同数据源的数据集成起来,使之遵循统一的编码规则。

3.数据的稳定性

数据仓库内的数据有很长的时间跨度,通常是5-10年。

数据仓库中的数据反映的是一段时间内历史数据的内容,是不同时点的数据库快照的集合,以及基于撰写快照进行统计、综合和重组的导出数据。主要供企业高层决策分析之用,所涉及的数据操作主要是查询,一般情况下并不进行修改操作.

数据仓库中的数据是不可实时更新的,仅当超过规定的存储期限,才将其从数据仓库中删除,提取新的数据经集成后输入数据仓库。

4.支持管理决策

    数据仓库支持OLAP(联机分析处理)、数据挖掘和决策分析。OLAP从数据仓库中的综合数据出发,提供面向分析的多维模型,并使用多维分析的方法从多个角度、多个层次对多维数据进行分析,使决策者能够以更加自然的方式来分析数据。数据挖掘则以数据仓库和多维数据库中的数据为基础,发现数据中的潜在模式和进行预测。因此,数据仓库的功能是支持管理层进行科学决策,而不是事务处理。

在学习数据仓库的时候,不得不提到的两个概念,就是数据集市和ODS,分别做一说明:


数据集市

因为数据仓库的是企业级的,创建时先建立一个全局的数据仓库,然后自上而下建立各种应用,由此带来许多问题:

1.自上而下的构建数据仓库,会出现因为考虑不周全而导致的周期漫长、投资巨大等问题;

2.随着对数据仓库使用的部门增多,出现对数据仓库资源的竞争;

3.各个部门从自己的业务重点出发都想定制数据仓库中的数据,但数据仓库是企业级的。

基于这个矛盾,有人提出了数据集市的概念,数据集市是部门级的数据仓库,可以直接在数据仓库上进行设计,也可以单独设计,数据集市构建成本小、便于快速实现,既满足了部门级数据处理的需求,而且有助于企业级数据仓库的构建。

ODS

ODSOperational Data Store),是数据仓库体系结构中的一个可选部分,ODS具备数据仓库的部分特征和OLTP系统的部分特征,它是“面向主题的、集成的、当前或接近当前的、不断变化的”数据。 ODS完成数据仓库中不能完成的一些功能,一般来说,带有ODS的数据仓库体系结构中,DW层所存储的数据都是进行汇总过的数据,并不存储每笔交易产生的细节数据,但是在某些特殊的应用中,可能需要对交易细节数据进行查询,这时就需要把细节数据查询的功能转移到ODS来完成,而且ODS的数据模型按照面向主题的方式进行存储,可以方便地支持多维分析等查询功能,具体说来有如下三点:

    1.ODS用于存放从业务系统直接抽取出来的数据,这些数据从数据结构、数据之间的逻辑关系上都与业务系统基本保持一致,因此在抽取过程中极大降低了数据转化的复杂性,而主要关注数据抽取的接口、数据量大小、抽取方式等方面的问题。

2.降低业务系统的查询压力。

3.完成数据仓库中不能完成的一些功能。


元数据

元数据的作用有以下几点:

1.描述数据仓库中存储的数据,帮助决策者对数据精确定位;

2.定义数据入库的方式,是ETL的指南;

3.记录业务数据的发生和随之进行的数据抽取工作的时间安排;

4.记录并检测系统数据一致性的要求和执行情况;

5.评估数据质量。


ETL

数据仓库的构建过程是及其复杂的,其中很重要的一个环节是ETL,目前市场上主流的ETL工具有Informatica的PowerCenter、IBM的DataStage等等,本人更倾向于IBM的Data Stage,本书有关于IBM的Data Stage的专门讲解。

数据抽取(Extraction)

将数据源中的数据导入数据仓库之前,必须确定哪些数据是与决策相关的,换句话说,需要导入那些数据,不需要导入那些数据,数据抽取的过程如下:

1.确认数据源的数据及其含义;

2.抽取,确认访问数据库中那些文件或表;

3.抽取频率;

4.数据输出;

5.异常处理。

数据清洗(cleaning)

数据源中的数据质量各异,如果只是简单的将相关数据导入数据仓库,会带来数据格式不匹配、无用数据影响分析结果等问题,故数据清洗是很重要的,常见的数据质量问题有以下几点:

2.错误数据;

3.数据重复。反复录入了大量相同的数据;

数据转换(Transformation)

因为数据源不同,故数据格式也可能不同,源数据在被装载到数据仓库之前需要进行相应的转换,数据转换的主要目的是对数据粒度以及不一致的数据进行转换。

数据装载(Loading)

数据在进行完清洗、转换之后,就需要装载到数据仓库中,通常分为以下几种情况:

1.初始装载。一次性对整个数据仓库进行装载;

2.增量装载。增量装载可以保证数据仓库与源数据变化的同期性;

3.完全刷新。周期性的重写整个数据仓库。

 


数据仓库模型

数据仓库的模型有三种:概念模型、逻辑模型、物理模型。

概念模型

数据库管理系统的概念模型一般用E-R图描述,而数据仓库是通过主题分析表示概念模型的,每个主题由若干维度和度量表示。维度、层、类别的关系如图1.4所示:


图:维度、层、类别关系

逻辑模型

在概念模型中定义了主题,确定了维度和度量之后,接下来就可以设计数据仓库的逻辑模型了,数据仓库有两种基本的逻辑模型:星型模型和雪花模型。

星型模型的核心是事实表,事实表将各种不同的维度表连接起来,换句说法就是维度表事直接关联在事实表上面的。星型模型的优势是能减少查询中关联的表的个数,缺点是容易造成数据的冗余。

雪花模型是星型模型的拓展,其特点是维度表中的数据可以进一步分解到附加表中,换句说法就是维度是分层次的,雪花模型的优点是减少了数据的冗余,缺点是关于查询中牵扯到的表数量增多。

物理模型

物理模型是逻辑模型在数据仓库中的实现,主要包括数据仓库的软硬件配置、数据的存储结构与索引、数据存放位置与存储分配等。

其实,oracle提供了先进的数据仓库平台与技术,常用的数据仓库技术有外部表、分区表、物化视图、迁移表空间、分析函数等等,我们在oracle高级部分将予以讲解。


DW的设计

数据仓库系统的设计策略:

1.明确用户的详细需求,建立明确的、可行的需求;

2.确定数据仓库设计的目的、目标;

3.定义清楚数据仓库的范围、主题、业务;

4.确定系统需要的平台和工具;

5.确定数据管理方式;

6.数据仓库的安全管理。

数据仓库系统的创建可以分为四个层面七个环节,四个层面分别是:

1.数据整合层;

2.存储服务层;

3.应用分析层;

4.信息展现层。

七个环节是:

1.异构数据源集成;

2.ODS层的设计;

3.数据仓库模型设计;

4.ETL过程设计;

5.元数据管理;

6.专题分析和数据挖掘;

7.前端展现。


以上是关于BI三大技术支撑之数据仓库的主要内容,如果未能解决你的问题,请参考以下文章

数据仓库系列之关于数据仓库自动化技术

什么是数据仓库,数据仓库在哪里保存数据。BI项目需要用到哪些技术

数据仓库之三大事实表

数据仓库介绍

数据仓库和商业智能DW/BI

技术积累-商业银行数据仓库架构及BI应用简述