● 摘要
为了更加有效利用现有系统中的大量数据,加强金融监管、控制金融风险,Z银行邀请我公司为其实施“对公业务数据仓库”项目。数据仓库是一个作为决策支持系统和联机分析应用数据源的结构化数据环境。从操作型数据源提取数据到这个结构化数据环境的过程称为ETL处理。Z银行数据仓库整体结构包括前台系统和后台系统两部分。其中的ETL数据处理过程是数据仓库后台系统的主体。我们在总行建设一个集中式的数据仓库,OLTP系统中的原始业务数据通过企业网络从各分行传送到总行,在总行数据仓库主机上经过ETL加工,然后载入数据仓库及多维数据库。本文详细介绍了数据仓库ETL过程的设计与实现。针对需求分析中ETL数据抽取、转换、装载三个功能模块,我们设计了三个阶段的ETL过程与之对应:第一阶段实现数据抽取功能,将原始数据通过DPR抽取到的“临时库”和“中间仓”中,实现错误隔离和数据缓冲;第二阶段实现数据转换功能,完成ETL数据表转换,加工数据仓,生成数据集市;第三阶段实现数据装载功能,将事实表和维度表装载到多维数据库中。完成ETL数据处理流程的设计后,进一步对ETL的主控模块和各阶段的作业调度流程的设计和实现进行了详细阐述。在完成数据仓库ETL过程基本功能需求的基础上,指出了实现ETL过程需要解决的两个关键问题:一是ETL过程中的并行处理技术的设计与实现,我从分行级并行处理、数据表级并行处理、数据表内部并行处理和并行装载多维数据库四个方面对各自的原理、使用技术、工作流程进行了阐述;另一个关键技术是根据ETL过程中的并行进程数和运行时间的关系设计和实现的进程控制模块。最后,本文给出系统的测试结论,对整个系统的完成情况进行了总结,并对未来的发展进行了展望。