XXXX企业数据仓库概要设计说明书
ETL概要设计分册
(文档编码:OM-BIDW-C008)
(版本01.00.000)
未经许可,不得以任何形式抄袭
XXXX版权所有,翻板必究
OM数据仓库XXXX企业数据组
2009年3月
文档变更历史
日期
版本
作者
修改内容
评审号
变更控制号
发布日期
2009-04-02
01.00.000
黄浩
建立初始版本
2009-04-02
目录
1 概述 4
2 设计
原则
组织架构调整原则组织架构设计原则组织架构设置原则财政预算编制原则问卷调查设计原则
和前提 5
2.1 整体部署 5
2.2 前提条件 6
2.3 设计原则 6
3 整体框架 7
3.1 ETL系统架构图 7
3.2 ETL系统功能模块描述 7
4 数据抽取模块 9
4.1 假设与约定 9
4.2 模块功能图 9
4.3 各子模块功能及处理流程 11
5 数据加载模块 11
5.1 假设与约定 11
5.2 数据加载模块图 11
5.3 数据加载功能模块描述 12
6 作业调度模块 13
6.1 模块概述 13
6.2 假设与约定 13
6.3 作业调度流程 13
6.4 ETL作业种类及调度实现
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
14
7 监控管理模块 15
7.1 监控管理模块图 15
ETL监控内容 16
附录1控制表及控制文件设计 16
附录2:文件目录及编码说明 19
1 概述
ETL是数据仓库系统开发中至关重要的一个过程,它涉及到对源数据的抽取、整合及各种转换,并最终形成面向用户的
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
数据。由于数据仓库系统的数据源来自于多个分散的业务系统,对不同业务系统的数据整合及清洗转换将是一个复杂的过程,ETL过程决定了数据仓库系统获取数据的准确性。
另外由于ETL包括数据抽取、数据清洗、数据转换及数据加载等数据处理过程,这些处理过程分散在不同的系统平台及开发工具上,对这些作业过程的统一调度将是一个重要的问题,作业调度涉及到系统的稳定性。
2 设计原则和前提
2.1 整体部署
数据仓库ETL整体部署图
? 网关通道数据库服务器是数据仓库的外围数据库系统,数据仓库中的绝大部分数据都将来自网关通道数据库服务器
? 基于目前短彩部自身情况的考虑,在数据源服务器和数据仓库服务器之间增加一台FTP文件服务器,其功能有二:
◆ 接口文件服务器,所有被接入DW的数据文件必须通过该服务器中转
◆ 数据备份,来自网关的数据文件将长期保留在该服务器上,作为文件备份
2.2 前提条件
ETL概要设计将基于下面的前提条件
? ETL逻辑:XXXX企业的数据虽然分布在不同的通道,但是各通道数据的共性度非常高,因此ETL中不存在逻辑复杂的转换(Transformation)及数据质量管理等流程,整个ETL只需要实现抽取(Extraction)和加载(Loading)两个功能即可
? ETL工具:自主开发,具体开发语言待定?;
? 作业调度工具:自主开发,具体开发语言待定?。
2.3 设计原则
? ETL应该是基于元数据库中定义好的处理规则;并且应由可复用的过程或相关组件来实现;
? 用户或客户端应用程序不应该直接执行数据获取程序,数据仓库层所有的数据更新应该由数据获取过程自动控制;
? 通过良好的设计和相关处理过程的协调使得系统的CPU处理时间最少;要充分利用系统和软件的并行处理性能;
? ETL过程尽可能分解为独立的几个子处理过程以便于作业管理和调度;
? 在ETL设计时,需要详细计算并考虑ETL的处理性能,时间窗口及错误处理控制。并详细考虑各个ETL任务在各台物理主机上的分布。
? 需要提供一个监控统计模块对ETL的整个过程进行有效的监控和统计,提供GUI界面对ETL各个任务的处理情况进行统计和监控,例如每个ETL任务的状态、处理
记录
混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载
的条数、处理某个任务所用的时间、出错的情况等。
3 整体框架
本章从宏观体系结构的高度,概要叙述ETL系统的基本架构和设计思想,着重于描述架构的特点、系统主要组成、ETL各个部分的基本功能和它们之间的关系以及
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
选择的出发点。
3.1 ETL系统架构图
ETL负责对业务系统数据及其他外部源数据进行数据抽取,并存放在数据仓库系统中的STAGE数据库中。ETL过程包括数据抽取和数据加载等几个逻辑上相对独立的数据处理过程。同时由于在ETL的处理过程中需要对ETL的错误处理以及作业调度等,ETL系统逻辑架构图如下图所示:
3.2 ETL系统功能模块描述
从上图可以看到ETL系统包括数据抽取、数据加载、错误处理、作业调度、监控管理等几个功能模块,各功能模块的具体情况如下:
功能模块
功能描述
物理分布
实现工具或方法
数据抽取
该模块获取外部系统数据以形成文本文件
ETL.SERVER1
自主程序开发
数据加载
将数据抽取获得的文本文件通过数据加载阶段入库到STAGE中。
DW SERVER
ORACLE 的数据加载程序SQLLDR
错误处理
错误处理模块针对作业在运行过程中出现错误时ETL系统应采取的作业控制措施
DW SERVER
ETL ERVER
自主开发程序
作业调度
作业调度主要实施整个系统中的作业运作,实时的监控作业运行的条件是否具备,一旦作业运行的条件具备,就将作业调入作业运行队列。
DW SERVER
自主开发程序
监控管理
在ETL的处理过程中需要实时对ETL的作业过程进行监控,以便了解ETL的执行状况并根据ETL执行过程中遇到的问题采取相应的措施。
ETL SERVER/DW SERVER
自主开发程序
外部数据手工输入模块
由于市公司数据集市存在一些需要手工输入或EXCEL等格式的外部数据,需把这些外部数据录入到市公司数据集市中
PC
EXCEL等辅助工具
4 数据抽取模块
4.1 假设与约定
? 重复文件处理:文件重复上传,则采取覆盖式的处理办法,我们认为最后上传的文件是接近正确的文件。即如果某个文件先后上传了几次,那么我们最后入库的文件将是最后一个上传的文件。
? 不对数据质量作监控:因为数据仓库的数据源平台比较单一,涉及到的网络比较平稳,因此不对数据抽取的结果文件作质量监控。
? 系统的所有功能都由程序自动控制,原则上不允许手工干预
4.2 模块功能图
数据抽取模块如下图所示:
该模块由自主程序开发实现,除主程序外,还包括目录扫描进程,文件处理进程,文件压缩,文件传输等几个子模块。该模块将由两个子程序驱动
? 数据抽取子程序:该程序主要完成定时的数据抽取功能,并将抽取后得到的文本文件放到指定的目录下面。
? FTP传输子程序:该程序定时扫描指定目录,如果文件到达,则将文件传输至接口机上。
从上图中可以看到在该模块处理流程中用到一系列的控制表及控制文件,各控制表及控制文件的具体格式见附录1
4.3 各子模块功能及处理流程
子模块
作用及功能
需用到的控制表或控制文件
文件抽取进程
该进程定时从数据源信息表中获取数据,对原始数据源进行抽取工作
《数据源文件信息表》《数据源定义表》《数据ETL日志表》
目录扫描进程
该子功能模块将定时对相关接口目录进行扫描,以检查是否有新的接口文件需进行处理。由于各类型数据源文件抽取的频率不一样,因此对各接口目录的频率也不同。
《数据源定义表》《数据ETL日志表》
FTP传输进程
若目录扫描进程检测到某接口目录下有新的文件到达,则调用FTP命令,将文件传输到指定服务器的指定目录下面
《数据源定义表》《数据ETL日志表》《FTP状态表》
对于以上处理步骤的关键过程信息都要记录到《数据ETL日志表》表中。
5 数据加载模块
5.1 假设与约定
? 因为数据抽取与数据加载是在不同的服务器上执行,为了同步两者之间的事件消息,我们需要建立一个消息同步的机制,即当数据抽取完成时,需要发给数据加载一个消息。即在传输数据接口文件完成后,附带一个传输完成标志文件。
5.2 数据加载模块图
数据加载模块流程如下图所示:
5.3 数据加载功能模块描述
子模块
作用及功能
需用到的控制表或控制文件
目录扫描进程
该子功能模块将定时对相关接口目录进行扫描,以检查是否有新的接口文件需进行处理。由于各类型数据源文件抽取的频率不一样,因此对各接口目录的频率也不同。
《数据源定义表》《数据ETL日志表》
FTP传输进程
若目录扫描进程检测到某接口目录下有新的文件到达,则调用FTP命令,将文件传输到指定服务器的指定目录下面
《数据源定义表》《数据ETL日志表》《FTP状态表》《接口文件登记表》
数据加载进程
该进程定时对指定目录下的文件进行扫描,如果文件存在,则对文件进行解压、加载处理,最终将数据加载进STAGE数据库中
《数据源定义表》《数据ETL日志表》
6 作业调度模块
6.1 模块概述
作业调度是系统运转的支点,从数据加载到数据处理的全部脚本都由作业调度系统自动完成。其功能包括:
? 事件扫描。按照作业的执行周期属性,周期性定时扫描作业所依赖的事件是否完成,以决定该作业是否执行;
? 参数生成。根据作业配置信息,自动生成作业执行参数,并将参数传递给作业;
? 追跑历史数据。因为某些原因,导致作业执行延时,在作业满足事件依赖后,需要追跑历史作业。
6.2 假设与约定
? 数据抽取模块分散到各数据源服务器,由各数据源服务器自行按照文档要求进行数据抽取,并将抽取结果FTP到指定的接口机的制定目录下
? 为了简化调度流程,OMDW将采用事件扫描模式,而不是事件触发模式。即为了触发某个作业,程序会定时的扫描作业所依赖的事件,如果所依赖的事件全都完成,则执行该作业。
6.3 作业调度流程
作业调度流程如下图:
6.4 ETL作业种类及调度实现方法
作业类型
作业调度方式
作业实现的功能
作业的物理分布
ORACLE 存储过程
ORACLE存储过程调度存在两个要点:参数、依赖。因此,在作业调度设置页面要设置好参数与依赖的具体内容。
数据处理
DW SERVER
ORACLE 的数据加载
数据加载主要依赖于接口文件,要点有:加载类型、文件信息。加载作业会根据加载类型及文件的相关信息(字段、文件名、字段分隔符等)生成控制文件
数据加载
DW SERVER