浙商银行数据仓库系统高层架构设计文档

发布时间 : 星期三 文章浙商银行数据仓库系统高层架构设计文档更新完毕开始阅读

inb(Inbox)-当前正在处理的接口文件IFF。每个IFF传输到这里后,首先根据文件验证规则进行一致性检查,验证通过后,就表明这个文件是有效的,然后将此文件登记到数据仓库的调度系统内,然后针对这个文件可以进行进一步的处理。

wrk(Work)-工作目录。基于文本的ETL程序在此目录内把接口文件转换成可以装载数据仓库的load文本,load成功后,此文件连通原始接口文件可以压缩后放到arc目录下做备份处理。如果ETL过程中发现文件错误,则将错误文件放到log目录下。

log-日志目录。ETL运行过程中的日志和发生错误的接口文件都存放在此目录。

out-导出目录。需要传给数据仓库以外系统的数据,全部安装目标系统分类放在此目录内。 arc-备份目录。存放历史接口文件。接口文件处理完毕后,将按业务类型和日期移动到此目录。然后在此目录完成数据备份。

IFF文件以固定的时间间隔由数据仓库从文件缓冲区拉到接口文件区,或者由源数据系统把数据从文件缓冲区推到接口文件区。不管以何种方式,在源数据系统和数据仓库之间都应该有一个握手机制来保证文件传输的完备性,即因为在网络上传输数据文件需要时间,数据仓库系统如何知道文件是否已经传完了。在接口规范上,我们要求源数据系统在传输完每个数据文件后,立刻创建一个与数据文件同名并以“.end”结尾的文件,文件内容为空或包含一些简单的数据文件验证信息,来告诉数据仓库说我这个文件已经传完了。

对于inb、wrk、和arc目录,进一步按照数据源和数据类型划分目录: 目录 ${Home}\\ acms ${Home}\\ acms \\daily ${Home}\\acms\\monthly\\ ${Home}\\zsrun ${Home}\\opics

参考详细目录结构:

内容 授信系统数据 授信系统日变化数据 授信系统月变化数据 核心系统数据 资金系统数据 浙商银行企业数据仓库系统

高层架构设计

CZB & IBM 机密

Page 8 of 43

浙商银行企业数据仓库系统

高层架构设计

目录结构ifs|-- arc| |-- acms| | |-- daily| | `-- monthly| |-- opics| | |-- daily| | `-- monthly| `-- zsrun| |-- daily| `-- monthly|-- inb| |-- acms| | |-- init| | |-- daily| | `-- monthly| |-- opics| | |-- init| | |-- daily| | `-- monthly| `-- zsrun| |-- init| |-- daily| `-- monthly|-- log| |-- ds| |-- dump| |-- rej| | |-- acms| | |-- opics| | `-- zsrun| `-- schd|-- out`-- wrk |-- acms |-- opics `-- zsrun存放内容接口文件缓冲区接口文件备份目录授信系统日变化数据备份月变化数据备份资金交易系统日变化数据备份月变化数据备份核心系统日变化数据备份月变化数据备份接口文件接收目录授信系统初始化数据日变化数据月变化数据资金交易系统初始化数据日变化数据月变化数据核心系统初始化数据日变化数据月变化数据日志DataStage日志DB2 Load msg及dump目录接口文件中的拒绝数据授信系统资金交易系统核心系统ETL 调度程序日志数据仓库导出目录DataStage工作及DB2 Load装载影像身成目录授信系统资金交易系统核心系统 CZB & IBM 机密

Page 9 of 43

浙商银行企业数据仓库系统 高层架构设计 4.2 数据架构和存储 数据架构描述数据在数据仓库系统内如何组织和存储。数据架构的主要模块如下图所示:

IBM软件服务部数据架构接口文件区Inbox数据仓库SSATENANCYMEMBERSbymakesCOMPLAINTcreates数据集市Summary多维立方体CubeSOREQUIPMENThashasVACANCYforcreatesWORKCANCELLATIONhasforforhashasWORK ORDERhasWORK ORDERhasforDETAILforhashasforWORK TASK ITEMWORK INSPECTIONUNIT HISTORYforWORK REJECTIONforWORK PROGRESSDDSforforforcreatesWORK REQUESTcreatesMAINTENANCEforPROJECT BUDGEThasMAINTENANCEPROJECThaswithiforWork数据暂存以更新SORforWORK COMPLETIONMAINTENANCEPROGRAM反规范化以更新多维数据面向分析的多维数据星型/雪花型结构多维数据存储企业数据模型,3NFFeedback数据挖掘结果ArchiveMDRACCOUNTforhasPAYMENT DETAILforforALIENATIONhasforBUYBACKforhasforhasforCANCELLATIONwithiPAYMENTforhashasCONTRACTWORK ORDER PAYMENTWORK ORDERwithiAPP:绩效考核APP:1104报表元数据存储:MetaStage、业务定义/描述,运行状态/日志浙商银行EDW架构设计| Confidential?2006 IBM Corporation 数据仓库和数据集市都存储在一个DB2数据库内,各个不同的数据在DB2内按不同的schema来区分。数据集市存储在DB2 CubeView内,多维立方体存储在AlphaBlox内。每个应用(1104和绩效考核)有自己独立的数据库。接下来我们分别对每个数据区域做详细介绍。

4.2.1 接口文件区

接口文件区是存储和处理接口文件的区域,如前面章节所述,接口文件区在Unix系统下按照特定的目录结构组织起来。用Unix的一些系统命令和工具来管理。对每个目录按照其特定的用途设定对不同用户的访问权限,比如谁能读,谁能写,谁能改等。

接口文件区数据的处理工具主要是DataStage,附加以Unix脚本和一些自己开发的特定程序。

4.2.2 数据仓库

4.2.2.1 细节数据暂存区SSA(SOR Staging Area)

SSA的主要目的是支持把接口文件的装载到数据库,对其进行验证和处理,然后把数据整合到SOR内。验证的方法主要是将新转载的数据与SOR内已有的数据进行查找和比较。 CZB & IBM 机密

Page 10 of 43

SSA内数据结构的设计原则是最大限度的利用接口文件的数据结构,尽量降低实体的个数,同时很好的支持后续的ETL过程。当然在物理表的设计上一些DB2的特性也要考虑,比如合理的选择表的分区键,以最大限度的发挥DB2的并行特性。

SSA里面的表的用途基本都是临时的,每次数据装载都会清空,因此对这些表的处理可以不记日志,以加快处理速度。

浙商银行企业数据仓库系统

高层架构设计

4.2.2.2 细节数据SOR(System Of Record)

SOR是基于BDW开发的一套符合3NF范式规范的表结构。SOR存储了数据仓库内最细节层次的数据,按照不同的主题域进一步分分类组织。此模型是整个数据仓库数据模型的核心,其设计为具有足够的灵活性,以能够应对添加更多的数据源,支持更多分析需求,同时也能够支持BDW进一步升级和更新。

为了能够在数据仓库内记录数据的变化以支持历史趋势和变化分析,SOR在一些关键的属性值上会跟踪变化(比如客户的信用度、状态等)。跟踪变化的常见方法就是利用渐变维的Type 2方法来处理记录,在表内增加一条记录变化数据的新记录。同时为了降低不必要的存储空间的浪费(相同数据的重复存储),我们可以把实体中动态变化的属性与静态不变或只需覆盖不需跟踪变化的属性分开。比如对用户,我们可以用一张表存放不变化的用户静态属性,用另一张表存放经常变化的用户行为属性,当跟踪用户行为的变化时我们只需在用户行为表内添加记录就行了,没必要把没有发生变化的用户静态表内的数据也复制一份。

SOR显然是整个数据仓库中数据量最大的部分,为了提高此部分数据处理的性能,DB2内一些提供性能的特性必须在这里仔细考虑,比如创建索引,分区键的选择等。但索引同时也会降低数据更新的性能并且占用存储空间,因此索引一定要选择在经常用到的键值或属性上。同时不同索引的类型对性能也会有相当的影响,因此创建索引的时候也需要仔细考虑。

数据的分区策略体现在两个方面,一个是存储层面一个是处理层面,处理层面我们在接下来的ETL架构中讨论。就存储层面来说,一是通过分区键数据自然的按照hash算法均匀的分布到DB2数据库的各个分区上,还有就是对于一些数据量特别大的表,我们需要手工的按照数据范围把表分区,比如帐单表之类的,就可以按照帐单时间分成不同的表。手工把表拆开会增加ETL处理过程的复杂性,但相应的也带来处理性能的提高。

SOR内另一个性能相关的是代理主键(surrogate key)的生成。代理主键是一个唯一的、单列的、数值类型的属性值,用来代替源数据中自然主键。一方面数值型主键会提高查询、关联和索引的性能,另一方面最关键的是隔离源数据系统数据变化对数据仓库的影响。代理键的生成可以基于DB2内的序列对象,然后此键值在所有引用同一对象的实体内共享。

在SOR逻辑模型的物理化时,不同的物理化方法得到的模型对数据库的性能也有较大的影响,为了提高数据装载和访问的性能,保持物理模型的简单性,在物理化SOR模型时我们将权衡使用如下3CZB & IBM 机密

Page 11 of 43

联系合同范文客服:xxxxx#qq.com(#替换为@)