企业数据仓库概要设计说明书-ETL概要设计分册

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

XXXX企业数据仓库概要设计说明书ETL概要设计分册

(文档编码:OM-BIDW-C008)

(版本01.00.000)

未经许可,不得以任何形式抄袭

XXXX版权所有,翻板必究

OM数据仓库XXXX企业数据组

2009年3月

文档变更历史

目录

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作业种类及调度实现方法 (14)

7监控管理模块 (15)

7.1 监控管理模块图 (15)

ETL监控内容 (16)

附录1控制表及控制文件设计 (16)

附录2:文件目录及编码说明 (19)

1概述

ETL是数据仓库系统开发中至关重要的一个过程,它涉及到对源数据的抽取、整合及各种转换,并最终形成面向用户的分析数据。由于数据仓库系统的数据源来自于多个分散的业务系统,对不同业务系统的数据整合及清洗转换将是一个复杂的过程,ETL过程决定了数据仓库系统获取数据的准确性。

另外由于ETL包括数据抽取、数据清洗、数据转换及数据加载等数据处理过程,这些处理过程分散在不同的系统平台及开发工具上,对这些作业过程的统一调度将是一个重要的问题,作业调度涉及到系统的稳定性。

2设计原则和前提

2.1 整体部署

大部分数据都将来自网关通道数据库服务器

✧基于目前短彩部自身情况的考虑,在数据源服务器和数据仓库服务器之

间增加一台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各个部分的基本功能和它们之间的关系以及方案选择的出发点。

ETL逻辑构架图

3.2 ETL系统功能模块描述

从上图可以看到ETL系统包括数据抽取、数据加载、错误处理、作业调度、监控管理等几个功能模块,各功能模块的具体情况如下:

4数据抽取模块

4.1 假设与约定

✧重复文件处理:文件重复上传,则采取覆盖式的处理办法,我们认为最

后上传的文件是接近正确的文件。即如果某个文件先后上传了几次,那么我们最后入库的文件将是最后一个上传的文件。

✧不对数据质量作监控:因为数据仓库的数据源平台比较单一,涉及到的

网络比较平稳,因此不对数据抽取的结果文件作质量监控。

✧系统的所有功能都由程序自动控制,原则上不允许手工干预

4.2 模块功能图

数据抽取模块如下图所示:

该模块由自主程序开发实现,除主程序外,还包括目录扫描进程,文件处理进程,文件压缩,文件传输等几个子模块。该模块将由两个子程序驱动

✧数据抽取子程序:该程序主要完成定时的数据抽取功能,并将抽取后得

到的文本文件放到指定的目录下面。

✧FTP传输子程序:该程序定时扫描指定目录,如果文件到达,则将文件传

输至接口机上。

从上图中可以看到在该模块处理流程中用到一系列的控制表及控制文件,各控制表及控制文件的具体格式见附录1

4.3 各子模块功能及处理流程

的事件消息,我们需要建立一个消息同步的机制,即当数据抽取完成时,需要发给数据加载一个消息。即在传输数据接口文件完成后,附带一个

传输完成标志文件。

5.2 数据加载模块图

数据加载模块流程如下图所示:

相关文档
最新文档