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

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

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

高层架构设计

4.5 软硬件架构

浙商银行软硬件架构如下图所示:

IBM软件服务部软硬件架构数据源HA数据源1HA数据源2数据源3P560Q-1ETL/数据接口服务器P570-1P570-2DB2数据库服务器P560Q-2WAS/AlphabloxWeb服务器最终用户光纤交换机DS4500-1DS4500-2DS4500-3DS4500-4磁盘存储带库浙商银行EDW架构设计| Confidential?2006 IBM Corporation 此架构主要包含如下组成部分:

? ETL/数据接口服务器(AIX / P560Q 8C 16G)-此服务器是ETL处理服务器,在上面安装运

行DataStage,同时也是接口文件存放地。

? DB2数据库服务器(AIX / P570 8C 16G×2)-两台主机共同组成DB2数据库服务器,运行

带DPF的DB2 UDB。

? WAS/Alphablox/Web服务器(AIX / P560Q 8C 16G)-此服务器是应用服务器。安装运行

WAS、AlphaBlox和Web Server。

? 存储阵列()-存储阵列总共T的裸盘容量,数据仓库的所有存储空间都来自于此。 ? 带库()-磁带库,总共T的容量,用于数据备份。

CZB & IBM 机密

Page 32 of 43

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

高层架构设计

4.6 系统管理

4.6.1 备份恢复

整个数据仓库系统的备份恢复包含各个层面的内容。我们在接下来将分别讨论。

4.6.1.1 数据仓库的备份恢复

数据库的export/load

这是最灵活同时也是最繁琐的数据库备份恢复方法。用DB2提供的数据及数据库对象的导出导入方法来重建数据库:

DDL-DB2 look工具可以从数据库内导出所有的DB2对象的定义,比如表空间、表、索引等。然后可以通过导出的这些建库脚本重新生成完整的数据库定义。

数据-利用DB2 export工具可以把DB2表内的数据导出到磁盘成文本文件。重建数据库时,在重建完所有的数据库对象后可以使用DB2的import或load工具把这些数据重新装载到数据库内。

通过具体控制每个表的备份和恢复提供了用户最灵活的数据仓库备份恢复方法。我们可以选择只备份最重要的数据、恢复最紧急的数据等,依据不同的策略要求实现不同的备份恢复场景。

通过表的导出和重建,也可以据此修复数据库内的存储碎片,提高性能。 数据库备份恢复命令

DB2自身提供了完整的备份/恢复功能,可以执行在线备份/离线备份、增量备份/全量备份等。 在线备份是在DB2仍在使用的使用执行DB2 BACKUP命令备份整个数据库或单个表空间。由于这时DB2仍在运行,因此为保证数据的完整性DB2事务日志必须也同时或在一定的间隔内进行备份,到存储或带库。DB2提供了一个出口程序的例子,可以在之上修改后创建自己的出口程序,这样DB2会自动调用这个程序把关闭的日志备份走。

离线备份是把数据库先停止,然后在用DB2 BACKUP命令备份数据库。因为这时没有用户在活动,因此无需备份事务日志就能保证数据库处于一致的状态。

推荐使用离线备份方式,这样就不用关心事务日志的归档,数据库恢复的时候也不需做ROLL FORWARD,简化了备份恢复的操作,也节省了时间。但使用离线备份方式会失去“恢复到具体时间点”的功能,只能恢复到备份发生的时间点,而不能仁义指定时间点。对于数据仓库系统来说,由于基本上所有的数据都是定期随着ETL周期变化更新的,因此我们也没有必要具有这一功能,只要能够恢复到每个ETL周期之后就能基本满足数据仓库的备份恢复要求。

全量备份是一次BACKUP操作就得到一个完整的数据库映像。除此之外DB2还支持Delta备份和Incremental备份。Incremental备份是只备份上次全量备份之后到现在为止发生变化的数据(以页为单位)。Delta备份是只备份上次全备或Delta备份后变化的内容。两者的区别如下图所示。 CZB & IBM 机密

Page 33 of 43

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

高层架构设计

| IBM 软件服务部| DB2 Information Management Software

Incremental VS Delta BackupSundayMonTueWedThuFriSatSundayFullFullIncremental Backups FullDelta Backups FullDB2 BI?2005IBM Corporation 由于Delta备份和Incremental备份都依赖于最近的全量备份,如果全量备份损坏的话,增量备份的东西也就没用了。恢复的时候需要先恢复全量备份的数据,然后在恢复各个Delta备份或最近的Incremental备份,因此在实际的应用中一定控制好全量备份的时间间隔。

建议每周进行一次全量备份,然后每天进行Delta备份,全部采用离线备份方式。由于每天变化的数据量是固定的,因此我们可以容易的把备份操作插入全天的ETL调度中。

DB2备份恢复命令

BACKUP DATABASE database-alias [USER username [USING password]] [TABLESPACE (tblspace-name [ {,tblspace-name} ... ])] [ONLINE] [INCREMENTAL [DELTA]] [USE {TSM | XBSA} [OPEN num-sess SESSIONS]] | TO dir/dev [ {,dir/dev} ... ] | LOAD lib-name [OPEN num-sess SESSIONS]] [WITH num-buff BUFFERS] [BUFFER buffer-size] [PARALLELISM n] [WITHOUT PROMPTING]

RESTORE DATABASE source-database-alias { restore-options | CONTINUE | ABORT } restore-options:

[USER username [USING password]] [{TABLESPACE [ONLINE] | TABLESPACE (tblspace-name [ {,tblspace-name} ... ]) [ONLINE] | HISTORY FILE [ONLINE]}] [INCREMENTAL [AUTOMATIC | ABORT]] [{USE {TSM | XBSA} [OPEN num-sess SESSIONS] | FROM dir/dev [ {,dir/dev} ... ] | LOAD shared-lib

[OPEN num-sess SESSIONS]}] [TAKEN AT date-time] [TO target-directory] [INTO target-database-alias] [NEWLOGPATH directory] [WITH num-buff BUFFERS] [BUFFER buffer-size]

[DLREPORT file-name] [REPLACE EXISTING] [REDIRECT] [PARALLELISM n]

CZB & IBM 机密

Page 34 of 43

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

高层架构设计

[WITHOUT ROLLING FORWARD] [WITHOUT DATALINK] [WITHOUT PROMPTING]

打开运作增量备份模式

UPDATE DATABASE CONFIGURATION FOR SAMPLE USING TRACKMOD ON

4.6.1.2 接口文件的备份恢复

接口文件的备份恢复是直接集成在接口文件处理的ETL之内的。原始接口文件经处理完成后连同处理的结果文件一同压缩后转移到接口文件区的archive目录下,然后调用备份程序将其备份到带库。

详细的过程可以参考源数据和数据接口部分。

4.6.1.3 开发环境的备份恢复

开发环境的备份恢复,可以直接通过备份配置管理工具所用的目录进行。

为了最大限度的降低损失,同样也建议以每天为周期,当天开发完成后,备份配置管理的目录。

4.6.2 配置管理

为了从事软件的配置管理,需要开发一个变更控制方法和一个自动实现这个方法的工具。一旦定义好管理方法,使用合适的工具管理过程。下面显示的是管理软件开发生命周期的源代码配置处理过程:

Configuration Management ProcessAcceptedDeliverableDemoteDemoteStates(Life Cycle)ChangeRequestCreate CRApprove CRPromoteNotifyDevelopReviewUpdatePromoteVersionSITBrowsePromoteVersion ApproveUATBrowsePromoteVersion ApproveReleaseBrowseApproveProcesses Roles & Activities 若项目的交付件被接受,开发工作将会开始,在开发人员完成单元测试,一个单元将会和其它单元组成一个逻辑工作单元,如果他被接受,将会推动系统集成测试,系统测试实例将会执行。测试实例被成功执行后,这个包将会执行用户接收测试,这个包和其它包组成应用程序。如果包中的一个组件没有通过标准测试实例,将会记录错误,整个包将会返回开发环境。这个过程在用户接受测试里反CZB & IBM 机密

Page 35 of 43

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