数据仓库是一个面向主题的集成的相
对稳定的反映历史变化的数据集合Y用于支持管理决策
面向主题
2集成
3相对稳定
4反映历史变化
数据库是面向事务的设计Y数据仓库是面向主题设计的数据库
一般存储在线交易数据Y数据仓库存储的一般是历史数据数据
库是为捕获数据而设计Y数据仓库是为分析数据而设计的。
一个典型的数据仓库系统通常包含数据源数据存储和管理
OLAP服务器前端工具和应用等四个部分。
数据源X是数据仓库的基础系统的数据来源Y包含企业的各种内部数
据和外部数据内部数据包括存在于OLTP系统中的各种业务数据和办
公自动化系统中的各类文档数据外部数据包括各类法律法规市场信
息竞争对手信息及各类外部统计数据和其他相关文档等。
数据存储和管理X是数据仓库系统的核心是指在各业务系统基础上周
期性地对数据进行抽取按照主题进行重新组织Y最终确定数据仓库的物理存储结构Y同
时存储数据仓库的各种元数据??数据字典记录系统定义数据转换规
则数据加载频率及业务规则等??对数据仓库系统的管理Y就是对相
应数据库系统的管理Y通常包括数据的安全归档备份维护和恢复
等工作。
OLAP服务器X联机分析处理服务器将需要分析的数据按照多维数据模
型进行重组Y以支持用户随时多角度多层次进行数据分析Y发现数据
规律与趋势
前端工具和应用X数据查询工具自由报表工具数据分析工具数据
挖掘工具和各类应用系统。
实时主动数据仓库是一个集成的信息存储仓库Y既具备批量和周期性的数据
加载能力??采用ETL技术??Y也具备数据变化的实时探测传播和加载能力
??采用CDC技术??Y并能结合历史数据和新颖数据实现查询分析和自动规则
触发Y从而提供对战略决策和战术决策的双重支持。
数据整合。
不同数据源的数据被物理地集成到数据目标
利用ETL工具把数据源中的数据批量地加载到数据仓库就属于数据整
合。
数据联邦。
在多个数据源的基础上建立统一的逻辑视图Y对外界应用屏蔽数据
在各个数据源的分布细节
对应用而言Y只有一个数据访问入口Y但事实是被请求的数据只是
逻辑上的集中Y物理上仍然分布在各个数据源中
只有收到请求时Y数据仓库才临时从不同数据源获取相关数据Y进
行集成后提交给数据请求者。
数据传播。
数据在多个应用之间传播
在企业应用集成解决
方案中Y不同应用之间可以通过传播消息进行交互
4混合方式
对那些不同应用都使用的数据采用数据整合的方式进行集成Y而对
那些只有特定应用才使用的数据则采用数据联邦方式进行集成。
有多种技术可以为实时主动数据仓库提供数据集成服务Y比如脚本ETL
EAI和CDC但是Y只有部分技术能提供实时(连续)的数据集成X
??
1??脚本脚本是数据集成的一种快速解决方案Y其优点是Y使用灵活且比
较经济Y很容易着手开发和进行修改Y几乎任何操作系统和绝大部分DBMS都
可以使用脚本但是Y使用脚本也有很多问题Y比如Y耗费开发者的时间和
精力Y不好管理和操作Y以及不能满足服务水平协议??
等等。
有多种技术可以为实时主动数据仓库提供数据集成服务Y比如脚本ETL
EAI和CDC但是Y只有部分技术能提供实时(连续)的数据集成X
??
2??ETLETL是实现大规模数据初步加载的理想解决方案Y它提供了高级
的转换能力ETL任务通常都是在 维护时间窗口进行Y在ETL任务执行期间Y
数据源默认不会发生变化Y这就使得用户不必担忧ETL任务开销对数据源的影
响Y但同时也意味着Y对于商务用户而言Y数据和应用并非任何时候都是可
用的。
有多种技术可以为实时主动数据仓库提供数据集成服务Y比如脚本ETL
EAI和CDC但是Y只有部分技术能提供实时(连续)的数据集成X
??
3??EAIEAI解决方案通常和ETL解决方案并存Y从而增强ETL的功能EAI
解决方案在源系统和目标系统之间进行连续的数据分发Y并且保证数据的成
功分发Y同时提供高级的工作流支持和基本的数据转换但是YEAI受到数据
量的限制Y因为EAI的初衷是为了实现应用的集成而不是数据的集成Y即它是
用来调用应用或者分发命令和消息的然而Y由于EAI具有在数据集成过程中
实时分发数据和维护数据一致性的特性Y所以也就能够提供实时数据获取的
能力Y而这种能力正是实时主动数据仓库所需要的。
有多种技术可以为实时主动数据仓库提供数据集成服务Y比如脚本ETL
EAI和CDC但是Y只有部分技术能提供实时(连续)的提供了连续变化数据的捕捉和分
发能力Y并且只需要很低的开销和时间延迟CDC在提交的数据事务上进行
操作Y从OLTP系统中捕获变化的数据Y再进行基本的转换Y最后把数据发送
到数据仓库中虽然在体系结构上YCDC属于异步的Y但它表现出类似同步
的行为Y数据延迟只有不到1秒的时间Y同时能够维护数据事务的一致性。
ETL是将业务系统的数据经过抽取??
Extract??清洗转换??
Transform??
之后加载??
Load??到数据仓库的过程Y目的是将企业中的分散零乱
标准不统一的数据整合到一起Y为企业的决策提供分析依据
ETL是指从原系统中抽取数据Y并根据实际商务需求对数据进行转换Y然
后把转换结果加载到目标数据存储结构中源和目标通常都是数据库和文
件Y也可以是消息队列等。
数据抽取
可以采用周期性的pull机制或者事件驱动的push机制
pull机制支持数据整合Y通常以批处理的方式工作
push机制通常采用在线方式工作Y可以把数据变化传播到目标数据存储
结构。
数据转换
包括数据重构和整合数据内容清洗或集成
数据加载
对整个目标数据存储结构进行刷新Y或者只是对目标数据存储进行增量更
新。
早期的ETL解决方案通常以固定的周期运行批处理工作Y从平面文件和
关系数据库中捕捉数据Y并把这些数据整合到数据仓库中最近这几年Y
商业ETL工具供应商已经对产品做了很大的改进Y对产品功能进行了扩
展Y具体如下X
1额外的数据源
2额外的目标
3改进的数据转换功能
4更好的管理
5更好的性能
6改进的可用性
7增强的安全性
8支持基于数据联邦的数据集成方法
数据抽取模块的功能X
1确定数据源Y即从哪些源系统进行数据抽取。
2定义数据接口Y对每个源文件及系统的每个字段进行详细说明。
3确定数据抽取的方式X是主动抽取还是由源系统推送Y是增量抽取。
还是全量抽取Y是每日抽取还是每月抽取。
数据清洗与切换
数据清洗与转换X
数据清洗主要是对不完整数据错误数据重复数据进行处理
数据转换包括如下操作