数据库迁移在银行系统中的研究与应用

2019-10-21 08:01朱京瑞
科学与信息化 2019年28期
关键词:迁移升级

摘 要 随着业务系统的这几年的不断建设与发展,业务系统数量与数据量不断增加,与此同时系统间的关系愈加复杂。几年前搭建的业务系统渐渐无法承载目前的业务量,并且硬件性能与软件性能出现瓶颈为系统稳定运行带来较大风险。因此面临着将业务系统迁移至新系统的强烈需求。

关键词 DB2;迁移;升级;备份恢复;CDC

1迁移原则

银行系统的迁移面临着设备种类和数量众多、网络线路和访问关系复杂、应用系统在线运行等现实情况,迁移难度大、风险高、时间紧。为确保迁移工作的顺利完成,应该最大限度地降低正常业务运行的影响,在迁移过程中应该遵循以下原则:①安全性原则。在迁移过程中优先考虑安全性原则,最大限度保障迁移工作安全可控,减少停机时间。②节约型原则。在迁移过程中应该考虑节约型原则,充分利用现有设备和资源。③前瞻性原则。在迁移过程中适当考虑前瞻性原则,根据业务系统的实际需求及未来发展的情况,开展迁移工作。

银行业务系统的迁移工作可以分为:应用系统迁移与数据库迁移,前者与数据库迁移密不可分。迁移的具体变化为:硬件系统改变、应用程序改变、中间件软件版本改变、数据库软件版本改变。在进行数据库迁移前一定在测试环境下对新环境下的各个方面进行全覆盖的测试,避免出现迁移完成后出现不可控的故障。

2数据库迁移方案

银行系统错综复杂,在迁移前需要充分了解业务系统特点,通常可按照交易类型的区别分为:联机事务处理(OLTP)和联机分析处理(OLAP)两大类。不同类型的系统对容量、性能、可用性、安全有着不同的要求。OLTP系统:典型OLTP系统面向大量并发用户,支持日常业务处理,每个事务通常只涉及少量记录;系统要求响应时间尽量短,在高并发情况下要求一定的事务处理吞吐能力;OLAP系统:OLAP系统数据来源于OLTP系统,通过抽取、装载、转换的处理过程按不同主题重新组织数据,系统支持复杂查询,在SQL运行时涉及大量数据,数据库保留历史数据。根据业务系统的特点及数据量选择合适的数据库迁移方案。

2.1 CDC同步

InfoSphere Data Replication(CDC)是一个跨不同数据库的实时数据负责解决方案,用于捕获正在发生的数据库更改,并经过适当的转换将数据复制到数据目标中。CDC是通过读取数据库的日志来获取变化的数据,对源数据库造成的影响很低。使用CDC同步方案可以平滑的转移数据,可以跨DB2版本同步而且停机时间少;CDC的软件版本对DB2的版本支持情况有限制,对于DB2的V8.2、V9.1的旧版本不支持;CDC同步的效率对于网络质量要求较高,同步过程容易出现网络引发的异常;对于表中的外键约束及序列值,CDC无法同步。因此在CDC同步的方案中可能要混合着导入导出的方案共同完成。

2.2 导入导出、

数据库的导入导出方案,是使用EXPORT导出实用程序及IMPORT或者LOAD实用程序对数据库表进行导出、导入的过程。EXPORT导出实用程序是使用SQL SELECT语句或者XQuery语句抽取数据,并将数据存放到文件中。IMPORT导入实用程序会使用SQL INSERT语句向表、类型表或视图填充数据。LOAD实用程序能够高效地将大量数据移到数据表中,由于LOAD实用程序直接将格式化的页吸入数据库,不记录数据库日志,因此LOAD实用程序比IMPORT实用程序快。

对于数据库导入导出方案来说,对数据库迁移前后的版本无要求,可以从V8.2将数据迁移至V11.1;可以在导入导出过程中转换字符集编码,并且清理历史数据(即根据WHERE子句过滤导出的数据);支持大字段的导入导出;但是只能在业务系统停机后才能进行导出操作,否则数据会不一致;如果对于大数据量的库来说导入导出方案的耗时偏长。

2.3 备份恢复

备份恢复方案按照备份方式可以分为:联机备份恢复、脱机备份恢复。联机备份方案需要在相同版本下进行恢复并前滚活动日志。脱机备份方案需业务停机后备份,可以跨版本进行恢复。数据库备份的概念与其他任何数据备份的概念一样:即,复制一份数据,然后将它存储在另一介质上,以防原始介质发生故障或毁坏。数据库的重新创建称为恢复。版本恢复指的是使用备份操作期间创建的映像来复原数据库的先前版本。前滚恢复是指复原了数据库或表空间备份映像后,重新应用记录在数据库日志文件中的事务。

根据业务系统具体数据量、停机时间以及数据传输耗时去选择是联机备份恢复还是脱机备份恢复。然而无法避免的是从低版本到高版本无法直接进行恢复(比如:DB2 V9.1迁移到V11.1),因此某些时候无法适用于该方案。对于数据量小,备份时间快的数据库系统来说,脱机备份后在新环境下恢复是个不错的选择。值得一提的是V9.7的脱机备份可以直接在V11.1上进行恢复,恢复完成后使用UPGRADE命令升级数据库即可。对于数据库备份耗时长、数据库恢复耗时长、业务停机时间窗口少、备份文件集传输耗时长且每日活动日志较多的业务系统来说脱机备份恢复无法满足迁移需求,因此比较适合的是联机备份恢复方案。即在业务正常运行期间进行数据库备份,将备份产生的文件集传输到迁移目标系统,进行数据库的重定向恢复,在业务运行期间定期传输数据库活动日志用于新环境的前滚操作,等待停机时间窗口、业务正常停止后,前滚活动日志到结束点,此时数据库应是正常可激活状态,此后在考虑在新环境上升级数据库版本、数据库实例等操作。

3数据库迁移后的验证

数据库迁移后的數据验证尤为重要,如果数据在未经过验证的情况下进行上线,那么将会造成非常严重的后果。我们首先应该验证数据库每个表的数据量及迁移过程中的记录信息,其次验证数据库对象的数量(如:索引、约束、序列、存储过程等)以及是否有无效包,最后在迁移完成后观察数据库的运行。

作者简介

朱京瑞(1989-),男,山东临沂市人;学历:大专,工程师,现就职单位:山东省农村信用社联合社,研究方向:数据库性能优化与实践。

猜你喜欢
迁移升级
字词升级
字词升级
字词升级
谈物理模型在物理学习中的应用
小学数学活动经验的迁移策略
浅析迁移规律在足球教学中的影响
运用迁移学习规律 培养学生思维能力
本体感觉的研究进展与现状
第九章 升级!我的宠物
第九章升级!我的宠物