|
一种面向数据仓库的ETL多层实现策略数据仓库是一个面向主题的、集成的、不可更新的且随时间不断变化的数据集合,是支持管理人员决策的数据依据。 2)缓冲层到明细数据层(ODS 层)。ODS 层存储"标准化"后的源系统数据。所谓"标准化"是指将各个业务系统例如商品代码、客户代码等诸如此类带有源业务系统个性的数据进行统一的规范化编码。例如:在分销系统中商品" 铸钢" 的商品编码为800002637,在结算系统中同样是商品"铸钢"定义商品编码为900002938,那么缓冲层到明细系统间就要通过ETL 关联规范化的码表将同种商品的编码进行统一,目的是为决策表报数据汇总及展现提供便利。 3)ODS 层到整合层。从ODS 到整合层是实现数据加工最复杂的环节,所有标准化后的源系统数据经过整合、加工、计算最终按照决策所需分析主题存放在整合层,整合层存储结构以星型模型为主,形成所谓的数据集市。另外,基于决策支持系统前台用户对数据粒度要求的不同,在整合层储区域建立多重数据粒度的划分。所以,在ETL 过程中在满足决策分析员和公司高层领导等不同类别用户查询需求的同时,减少了数据仓库数据量,提高查询效率。下图为利用ETL 工具informatica 实现ODS 层到整合层实现部分数据加工的ETLmapping 设计样例,最左侧的为ODS 层表,对于整合层来说为数据源,最右侧为目标表,中间的控件实现了数据的过滤、汇总等加工过程。 整合层到展示层。展示层的设计主要是考虑前台报表展现效率,其模型以分析需求为驱动进行设计,贴合报表的展示模型。对数据仓库进行良好的结构化设计,是优化ETL 方案的基础,由于面临众多异构数据源,对数据的处理过程极其复杂,有了结构化数据存储在后继的数据加工过程中,可以分阶段的对数据进行验证,一旦发现错误也可以快速定位,方便错误排查。 ETL 处理过程是贯穿决策支持系统始终的,并对系统起到决定性作用。图2 是针对贸易企业的决策支持系统设计出整体架构,其中灰色区域部分均为ETL 处理过程,从以下的决策支持系统整体架构中可以看出ETL 过程在整个架构中占据重要位置。 3、ETL架构下关键环节问题的处理 为ETL 的架构设计,可以看出,在ETL 架构中除了对数据的加工处理外,流程调度及调度管理也是重要组成部分。以下将对ETL 过程中关键环节问题进行分析。 3.1 加载方式讨论 ETL 过程中有两种加载方式,即全量更新和增量加载。全量更新的方式要根据抽取阶段及数据源数据量多少而定。数据源数据量庞大时必须采用增量方式,但是业务系统数据库模型和业务数据产生机制千差万别,所以增量加载又分为镜像更新和直接追加。通常情况下如果源系统存在时间戳或明显的业务时间,则可以根据时间戳采用直接追加的方式,如果数据源没有明细的时间标示或业务系统的增量数据本身就存在重复问题,无法识别真正的增量,则可以按照主键对数据进行全表比对方式加载增量数据。 3.2 标准化例外数据处理 例外数据的处理是BI 项目中不可少的环节,产生的原因大多数是因为业务操作输入不规范造成。例外数据会严重影响到有效数据的汇总计算,那么在处理时,就必须先将例外数据进行标准化转换,对于无法转换的则需要过滤掉。在设计中此项操作在缓冲层到明细数据层之间进行。转换后的数据方可正常加入到上一层,否则写入到专门的例s 外数据表中,由数据管控人员返回给业务部门进行督导更正。 3.3 调度策略 在ETL 的实现过程中,调度策略往往是容易被人忽略的环节,而每条workflow 的成功执行却是保证整个ETL 过程的关键。一般情况下规定为,将每个ETL过程按照依赖关系、数据流向进行分类打包。执行调度时一旦某个ETL任务发生错误停止运行,则要求错误未处理前不再运行下一周期该工作流曰后续所有依赖于该任务的其它工作流停止运行曰并行的其它任务仍照常运行,不受影响。 4、结束语 大量的决策支持项目证实,一种良好、有效的ETL 实现方法是项目成功的关键。ETL 的多层实现策略可以有效的对数据进行针对性的加工,提高ETL 效率,在发现数据错误时可以根据出错的类型准确定位。ETL 过程的实现不仅要考虑到数据本身的特点,进行加工,同时也要结合数据源特性和目标数据仓库存储设计,只有将这几者相结合,才能建立一套完善、高效、有针对性的ETL实现过程。 责编:张泽牧 微信扫一扫实时了解行业动态 微信扫一扫分享本文给好友 著作权声明:kaiyun体育官方人口
文章著作权分属kaiyun体育官方人口
、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。 |
热门博文 |
|