数据仓库技术
数据仓库(
Data Warehouse
)是为了满足中高层管理人员预测,决策分析的需求,在传统数据库的基础上产生了能够满足预测,决策分析需求的数据环境。
一.
数据仓库与传统数据库的区别
面向事务处理的传统数据库系统不在适应新形式下的管理决策分析的需求,其中体现在:
1.
系统的响应问题
在分析过程中应用程序需要处理时间过长,消耗大量的系统资源
2.
数据集成问题
需要面对大量全面,正确的集成数据
需要面对大量全面,正确的集成数据
3.
数据的动态集成和更新
数据的集成涉及企业外部数据和非结构化的数据的集成使用
4.
历史数据问题
供决策参考的一般的是历史数据
5.
决策操作问题
数据仓库和传统的数据库的比较主要体现在下面几个方面:
比较项目
|
传统数据库
|
数据仓库
|
数据内容
|
当前值
|
历史的,归档的,归纳的,计算的数据(处理过的)
|
数据目标
|
面向业务操作程序,重复操作
|
面向主体域,分析应用
|
数据特性
|
动态变化,更新
|
静态,不能直接更新,只能定时添加,更新
|
数据结构
|
高度结构化,复杂,适合操作计算
|
简单,适合分析
|
使用频率
|
高
|
低
|
数据访问量
|
每个事务一般只访问少量记录
|
每个事务一般访问大量记录
|
对响应时间的要求
|
计时单位小,如秒
|
计时单位相对较的,除了秒,还有分钟,小时
|
二.
数据仓库的概念
数据仓库(
Data Warehouse
)是一个面向主题的(
Subject Oriented
),集成的(
Integrate
),非易失的(
Non-Volatile
),且随时间变化的(
Time Variant
)的数据集合,用于支持管理决策。
与数据仓库技术相关的概念主要有以下三个:
1.
维
管理决策需要从多个角度,多个层面分析,涉及和影响到决策的各个重要因素,这些决策分析的角度或决策分析的出发点就构成了数据仓库中维的概念。
其中还有两个概念:上卷和下钻
上卷是指在数据仓库应用中,从较低层次的数据开始逐步将数据按照层次进行概括处理。
下钻是指从数据仓库中的高层数据开始逐步走向底层数据,探索,了解概括性数据的具体细节。
2.
数据立方体
数据仓库中多维的交点就是数据仓库用户要观察的事务。立方体作为基本事务的集合,是一种适合通过
SQL
或其他接口进行查询的完整的数据结构。
数据仓库中的立方体也称为多维立方体,数据立方体的维数超过
3
时,就称为超立方体或超维数聚集。
3.
聚类
聚类(聚合)是指收集了基本事务数据的结构。将不同层次的数据通过聚集,形成了基于维的对管理人员有决策分析意义的一些数据交集。
三.
数据仓库的结构
从数据仓库的概念结构看,一般说来,数据仓库系统要包括数据源,数据准备区,数据仓库数据库,数据集市
/
知识挖掘库以及各种管理工具和应用工具。数据仓库建立之后,首先要从数据源中抽取相关的数据到数据准备区,在数据准备区中经过净化处理后再加载到数据仓库数据库,最后根据拥护的需求将数据导入数据集市和知识挖掘库中。当用户使用数据仓库时,可以利用包括
OLAP
(联机分析处理
On-Line Analytical Processing
)在内的多种数据仓库应用工具向数据集市
/
知识挖掘库或数据仓库进行决策查询分析或知识挖掘。数据仓库的创建,应用可以利用各种数据仓库管理工具辅助完成。
基本分层为:
1.
数据仓库的基本功能层
1.1
数据源是指存储在数据仓库中的数据来源,结构上应该包含业务数据,历史数据,办公数据,
Web
数据,外部数据以及数据源数据。
1.2
数据准备区的功能结构由数据标准化处理,数据过滤和匹配,数据净化和处理,表明数据的时间戳,确认数据质量以及元数据抽取和创建等操作组成。
1.3
数据仓库的功能结构由数据重整,数据仓库创建和元数据管理组成。其中数据重整包括:集成与分解,概括与聚集,预算与推导,翻译与格式化,转换与映像;数据仓库创建包括:建模,概括,聚集,调整与确认,建立结构化查询;元数据的管理包括:元数据游览与导航,元数据创建,创建词汇表。
1.4
数据集市
/
知识挖掘的功能结构与数据仓库的功能结构相似,区别在于数据集市的设立目的是为了某个部门,某个领域用户提供服务,而数据仓库的目的在于为全体用户提供服务。
1.5
数据仓库的数据存取与使用结构分为数据仓库存取与检索,数据仓库分析与报告两部分。其中数据仓库存取与检索包括:数据仓库的直接存取,数据集市存取,数据集市重整,转换为多维结构,创建局部存储;数据仓库分析与报告包括:报表工具,分析工具,分析建模工具,数据挖掘工具,新产品应用程序。
在这个过程中,元数据的管理一直同步进行(元数据管理与报表,元数据的抽取与创建)
2.
数据仓库的管理层
数据仓库的管理包括:数据管理和数据仓库的元数据管理
2.1
数据管理包含数据抽取,新数据需求与查询管理;数据加载,存储,刷新和更新系统;安全性与用户授权管理系统以及数据归档,恢复及净化四个部分
2.2
数据仓库的元数据管理包括:数据仓库,数据集市和词汇表管理;元数据抽取,创建,存储和更新管理;预定义的查询和报表以及索引管理;刷新与复制管理;登录,归档,恢复,净化管理。
3.
数据仓库的环境支持层
数据仓库的环境支持层由数据仓库数据传输层和数据仓库基础层组成
3.1
数据仓库数据传输层包含数据传输和传送网络,客户
/
服务器代理和中间件,复制系统,安全和保障系统
3.2
数据仓库的基础层包含系统管理,工作流程管理,存储管理,处理系统
数据仓库的体系结构主要有:大众观点的数据仓库体系结构,带
ODS
(
Operational Data Store
)的数据仓库体系结构,联合型数据仓库
/
数据集市体系结构,闭环的联合型
BI
体系结构
四.
数据仓库的设计与开发
1.
数据仓库的设计
数据仓库的设计主要需要考虑以下几个方面
1.1
ETL
(
Extract/Transformation/Load
)
用户从数据源抽取出所需的数据,经过数据清洗,转换,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。
1.2
元数据
关于数据的数据,指在数据仓库建设过程中所产生的有关数据源定义,目标定义,转换规则等相关的关键数据。同时元数据还包含关于数据含义的商业信息。
1.3
粒度
数据仓库的数据单位中保存数据的细化或综合程度的级别。
1.4
分割
结构相同的数据被分成多个数据物理单元。
1.5
Data Mart
(数据集市)
小型的面向部门或工作组级数据仓库。
1.6
Operation Data Store
(操作数据存储)
1.7
Data Model
(数据模型)
该模型有逻辑数据结构,包括有
DBMS
为有效进行数据库处理提供的操作和约束;用于表示数据的系统(如
ERD
或关系型模型)。
1.8
Artifact
(人工关系)
在
DSS
环境中用于表示参照完整性的一种设计技术。
2.
数据仓库的开发
数据仓库的开发需要按照软件工程的开发思想进行,具体分为以下步骤:
2.1
业务需求分析
2.2
逻辑模型设计
2.3
物理模型设计
2.4
数据抽取,清洗,集成,装载
2.5
数据仓库的管
2.6
数据的分析,报表,查询
2.7
数据仓库性能优化及发布
五.
数据仓库的技术
数据仓库的主要技术包含数据管理技术,数据存储技术和数据仓库接口技术
1.
数据管理技术
数据管理技术包含以下几点:
1.1
大批量数据管理
1.2
数据仓库的高效率索引与数据监视技术
1.3
元数据管理技术
1.4
数据压缩技术
1.5
复合键码技术
2.
数据存储技术
2.1
多介质存储设备和管理技术
2.2
数据存储的控制
2.3
数据的并行存储与管理
2.4
可变长技术
2.5
锁切换技术
3.
数据仓库接口技术
3.1
多接口技术
3.2
语言的接口
3.3
数据的高效率加载