大多数国内银行早年曾上线传统数据一体机架构的数据仓库(如Teradata数据仓库)。历经多年发展之后,随着分布式云计算架构的快速发展,传统数据仓库已难以满足银行业务快速发展要求,面临着存储空间使用率见顶、计算能力超负荷、日跑批窗口超限、增需求支撑力不足、扩展性差、无法处理实时数据流、半结构化数据和非结构化数据,以及数据存储成本高、软硬件升级扩容成本高等众多问题。
因此数据架构转型和数据迁移是国内银行数据仓库系统向新一代分布式云架构转型的新需求和必要需求。
金融业需要全流程数据迁移服务
由于数据迁移复杂度高、迁移涉及面广、缺乏DWS数据迁移专业人员、无经验可循等多种原因,因此数据迁移往往面临着无法如期推进,或迁移效果达不到预期等挑战。
举例来说,一次数据迁移至少涉及1000+表、10000+作业、PB级的数据量,数据库表之间复杂的关联关系,需仔细梳理,合理分配迁移批次,才能减少业务影响;数据迁移涉及10+业务部门、应用与平台多家厂商的协作,需要协调、联合验证、多方协作,贯穿数据迁移项目全流程;在极高的迁移复杂度下,大多数企业内部缺乏熟悉数据架构转型的人员;面对数据架构转型的新需求,行业内可借鉴度低,企业内部“0”经验可循。
总之,银行数据仓库迁移重构项目,存在着底层平台差异大、迁移数据量大、迁移任务及关联上下游系统众多等重重挑战;国内云原生数据仓库迁移替代项目,不仅面临着难度大的问题,也面临着不可预知的压力。
针对数据仓库迁移重构面临的挑战,在项目实施前,华为公司项目组会做足准备工作,提前在GaussDB数据库上进行研发储备。
举例来说,华为会率先和银行建立联合创新实验室,开展GaussDB数据库试点工作,全面攻克技术难关,包括ODBC连接GaussDB数据库、特殊字符集迁移等技术难题;还会开展交易型数据库测试、试点等。
为保证项目顺利实施,项目组遵循从迁移调研、规划设计、交付实施到验收保障的全流程数据迁移服务实施周期(见下图),全程服务银行的业务向融合数据平滑过渡,助力该银行实现数据重构、业务拓展、成本降低等目标。
GaussDB数据迁移服务流程图 来源:华为制图
五项核心技术攻关
1
环境准备
包括组网设计(见下图)和数据迁移工具安装等。
在数据迁移前,需要合理设计软硬件环境,最大化使用系统资源,以提高数据导入性能。具体环境要达到以下几点。
(1)确保内网环境为万兆网,同时数据磁盘组I/O性能应大于GDS单核处理能力上限(约400MB),才可能将单文件导入速率最大化。
(2)并发导入场景,与单表导入相似,至少应保证I/O性能大于网络最大速率。
(3)单个DN处理一个导入时,目前没有SMP的情况下,性能瓶颈在CPU约30MB/s,因此单文件导入场景需要保证集群DN数需大于12。
(4)由于DN导入数据需考虑日志、数据和主备的I/O开销,大约为数据大小的4倍左右,因此单raid(4sas盘)上部署DN数不应超过3个。考虑到后续并发场景,应预留I/O提升空间,单raid配置1-2个DN更为合适。如果采用列存压缩则可适当增加DN 。
(5)I/O占满时,I/O请求将排队处理,会有一定性能下降。从压力平均和给数据盘减压的角度考虑,建议将CN,GTM,CM部署在空间稍大的系统盘(CN可能因计算下盘占用磁盘空间)。同时log等其他可能的IO业务也应在系统盘上。
(6)配置GUC参数“raise_errors_if_no_files”、“partition_max_cache_size”和
“partition_mem_batch”,设置导入时,是否区分“导入文件记录数为空”和“导入文件不存在”、导入时的缓存个数以及数据缓存区大小。
2
选择数据迁移方案
3
业务搬迁
4
数据迁移搬迁
在数据库迁移搬迁中,数据迁移搬迁占据着非常重要的位置,主要包括历史数据迁移搬迁和实时数据迁移搬迁。
Gauss提供了并行导入工具GDS(Gauss Data Service)和外表(Foreign Table)功能,可以快速、高效地完成大规模数据导入。
5
数据一致性验证
数据迁移成果和收益
通过新一代数据仓库集群GaussDB(DWS)建设,某银行将实现数据应用系统的计算平台统一、资源调度统一、数据架构统一,以及存储空间、计算性能及存储单位成本的“两升一降”目标,数据存储量比原来提升了7.4倍、单位存储成本比原来降低超过80%、性能提升45倍,实现了优化数据仓库、增加存储资源、提升运行效率的总体目标。
数据迁移后,该银行提高了整体跑批效率,有效保障业务开门,大幅度提高数据仓库的批处理时效,除个别特殊任务需求外,八点前能完成绝大部分的任务跑批,数据集市亦可在八点前跑批完成并全部下发。
如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!
加入交流群
请使用微信扫一扫!