国内金融机构新一代分布式数据仓库(DWS)的迁移经验总结


风晓
风晓 2024-01-12 13:05:07 52189 赞同 0 反对 0
分类: 资源 标签: 国产数据库
从传统数仓向基于云平台的分布式数据仓库转型,已成为国内金融机构的新需求和必要需求。部署新一代分布式企业级数据仓库服务(DWS)需要把握四个核心步骤。

 

 

数据仓库作为银行业海量数据汇聚、存储、分析的核心,支撑着银行业借记卡、财务等核心业务系统的正常运行,具有至关重要的作用。大多数国内金融机构早年曾上线传统数据一体机架构的数据仓库如Teradata数据仓库或Oracle数据库(统称为“数仓”)。

 

历经多年发展之后,随着分布式云计算架构的快速发展,传统数仓已难以满足金融业务快速发展要求,面临着存储空间使用率见顶、计算能力超负荷、日跑批窗口超限、扩展性差、无法处理实时数据流,以及软硬件升级扩容成本高等众多挑战。

 

从传统数仓向基于云平台的分布式数据仓库转型,已成为国内金融机构的新需求和必要需求。基于华为高斯(GaussDB)的新一代分布式数据仓库(Data Warehouse Service,简称DWS)应运而生。作为云上企业级数据仓库服务,DWS具备高性能、低成本、易扩展等特性,满足了大数据时代的金融数仓诉求。

 

部署金融DWS的关键是全流程数据迁移服务

从传统数仓向DWS转型的关键是全流程数据迁移服务。由于数据迁移复杂度高、迁移涉及面广、缺乏DWS数据迁移专业人员、无经验可循等多种原因,因此数据迁移往往面临着无法如期推进,或迁移效果达不到预期等挑战。

 

举例来说,一次数据迁移至少涉及1000+表、10000+作业、PB级的数据量,数据库表之间复杂的关联关系,需仔细梳理,合理分配迁移批次,才能减少业务影响;数据迁移涉及10+业务部门、应用与平台多家厂商的协作,需要协调、联合验证、多方协作,贯穿数据迁移项目全流程;在极高的迁移复杂度下,大多数企业内部缺乏熟悉DWS数据架构转型的人员;面对DWS数据架构转型的新需求,行业内可借鉴度低,企业内部“0”经验可循。

 

总之,金融机构DWS数据仓库迁移重构项目,存在着底层平台差异大、迁移数据量大、迁移任务与关联上下游系统众多、以及不可预知的压力等重重挑战。

为保证项目顺利实施,项目组应该遵循从迁移调研、规划设计、交付实施到验收保障的全流程数据迁移服务实施周期(见下图),全程服务金融业务向融合数据平滑过渡,助力金融机构实现数据重构、业务拓展、成本降低等目标。

 

图片

     GaussDB数据迁移服务流程图(来源:华为制图)

 

四个核心步骤

金融机构部署DWS需要把握以下四个核心步骤:环境准备、方案选择、业务迁移、数据迁移。

 

(一)环境准备

 

环境准备工作主要包括组网设计和数据迁移工具安装等。

 

1.组网设计

 

在数据迁移前,需要合理设计软硬件环境,最大化使用系统资源,以提高数据导入性能。以金融机构从Teradata(或Oracle)向DWS  进行业务搬迁为例,具体环境要达到以下几点(见下图)。

 

图片

 

  • 数据服务器为数据中转主机,部署在DWS集群之外,用于存储从Teradata(或Oracle)导出的数据,并为DWS数据导入提供数据源。

  • 操作终端为客户操作主机,用来执行用户指令。

  • 操作终端、Teradata(或Oracle)数据源、DWS集群和数据服务器之间通过万兆交换机连通。

 

在进行数据库业务搬迁之前,还需要确认以下内容:

 

  • Teradata(或Oracle)数据源正常并可被操作终端、数据服务器访问。

  • DWS数据库准备就绪且状态正常。

  • 准备一台单独的服务器作为数据服务器。如果DWS系统资源尚有空余,可以增加数据服务器,来提高数据搬迁性能。

  • 如果搬迁过程执行完后,后续无ETL需求,则数据服务器可以撤除;如果Teradata(或Oracle)和DWS之间需要定期执行ETL作业,则数据服务器需要长期部署。

  • 在搬迁开始之前,请保证操作终端、DWS、Teradata(或Oracle)数据源、数据服务器之间防火墙关闭或者已做了例外处理。

 

2. 工具安装

 

从Teradata向DWS进行业务搬迁的时候,数据服务器上需要安装的工具包括DSC、GDS(Gauss Data Service,Gauss数据服务工具)。

 

  • DSC安装

在进行Teradata数据库业务搬迁时,需要使用搬迁工具DSC来快速转换业务SQL语法。最新工具和使用手册,可以去support网站下载。

 

  • 安装GDS工具

 

GDS是DWS提供的数据服务,通过和外表机制的配合,实现数据的高速导入导出。该工具是一款免安装的服务,解压后即可直接执行。

 

在从Oracle向DWS进行业务搬迁的时候,数据服务器上需要安装的工具包括Oracle客户端、sqluldr2(一款免安装的开源软件)、GDS(Gauss Data Service,Gauss数据服务工具);操作终端需要安装的工具则包括Oracle客户端和PL/SQL Developer。

 

(二)方案选择

 

金融机构需要根据迁移搬迁的数据量差异,以及数据导入时间的限制,选择迁移搬迁方案。以从Oracle向DWS(进行数据迁移为例,主要有以下两类数据迁移方案。

 

1.从数据量上来区分,数据迁移方案有两种。

 

a.全量迁移搬迁:即迁移搬迁源数据库中的所有历史数据,一般在第一次做业务迁移搬迁的时候使用,全量迁移搬迁大部分情况下涉及数据量巨大,耗时很久。

 

b.增量迁移搬迁:这种方式仅涉及到源数据库中的部分数据,数据量较小,迁移搬迁速度快,且方案处理灵活。增量迁移搬迁时的增量方式可以选择按表增量、按时间增量、按模块增量或其他自定义增量方式。

 

2.从迁移搬迁方式上区分,迁移搬迁方案还可以划分为两种。

 

a.使用GDS工具迁移搬迁,该迁移搬迁方案需要使用到sqluldr2、Oracle客户端工具及GDS工具。

 

b.使用kettle工具迁移搬迁,该方案只需要用到第三方开源工具kettle。

 

而从Teradata向DWS进行数据迁移,主要分为全量搬迁和增量搬迁

 

a.全量搬迁:搬迁窗口满足的情况下,一次性从Teradata搬迁到GDS服务器,然后使用DGS搬迁DWS。

 

b.增量搬迁:在时间窗口不允许的情况下,使用fastexport增量导出数据到GDS服务器,然后使用GDS导入到DWS。

 

在从Teradata向DWS进行数据导入前,可以参考有关最佳实践方法进行合理的设计部署DWS,以最大化使用系统资源,从而提高数据导入性能。

 

(三)业务搬迁

 

在选择数据迁移方案之后,把Teradata中的表、函数、存储过程涉及到的第三方数据库访问链接等搬迁到DWS中,或者把应用程序中的函数、DML、业务程序等进行手工识别和转换,从而实现由Oracle到Gauss数据库的业务迁移搬迁。

 

篇幅所限,仅以从Teradatad到DWS为例,其业务搬迁的关键有以下几点。

 

1.语法兼容性分析

 

数据库建模一般是通过SQL实现的,所以要把Teradata中的业务搬迁到DWS,就必须了解两者之间的语法差异。

 

DWS支持SQL标准SQL92/SQL2003,与Teradata的SQL语法有一些差异,需要在业务搬迁的过程中进行转换。

 

由于Teradata有很多语法在DWS上并不支持或性能不佳,不能直接搬迁到DWS平台运行,所以需要做语法上的转换。业务调度系统可以沿用原来的调度系统。

 

2.语法导出

 

可参考Teradata官方文档,将Teradata源库中DDL及DML导出至搬迁工具所在服务器/home/omm/source目录下。

 

3.语法转换

 

将前一步导出的DDL语句或DML语句或作业脚本上传到搬迁工具服务器。以root用户登录搬迁工具服务器,进入Migration Tool所在目录。执行migrate.sh工具。转换完成后,对生成的sql文件进行测试。

 

4.执行建表语句

 

使用winscp等ftp工具,将上一步转换完成的建表语句(如a_new.sql)文件放入开发环境的某目录下,使用putty连接开发环境,切换至a_new.sql目录下。

 

5.函数、存储过程、数据库访问接口搬迁

 

应用程序中的函数、存储过程、数据库访问接口等业务语句搬迁。应用搬迁是将migrate.sh工具转换后的DML和存储过程在DWS中进行调度执行。开发环境测试成功后可在生产环境执行。

 

6.第三方对接DWS数据库

 

把与Teradata对接的第三方调用对接到DWS,DWS数据库支持对接多个第三方程序或编程语言。

 

(四)数据迁移

 

数据迁移在分布式数据仓库建设中占据着非常重要的位置,以从Teradata向DWS进行数据迁移为例,主要包含两步:第一步是将表数据从Teradata导出到GDS服务器;第二步是使用GDS将数据导入到DWS数据库。

 

具体过程如下。

 

1.使用GDS搬迁数据

 

DWS提供了并行导入工具GDS(DWS Data Service)和外表(Foreign Table)功能,可以快速、高效地完成大规模数据导入。GDS支持并行导入,并行导入目前支持三种模式,三种模式对比如下。

 

项目

Normal模式

Shared模式

Private模式

数据位置

数据服务器

数据服务器

    DWS集群的存储节点

文件格式

txt,csv,fixed

    txt

  txt,csv,fixed

使用约束

数据服务器必须部署GDS工具。

数据服务器必须提供NFS服务,并且NFS会限制导入速率的提升。

数据存放在以Datanode节点名命名的目录下,文件的划分和分布需要用户手动操作。

待导入的数据会占用集群的可用存储空间。

 

以最常用的Normal模式为例,使用GDS工具搬迁数据的操作如下。

 

a.从Teradata导出数据文件

 

Teradata提供有导出工具fastexport,一般由客户来做导出动作。

 

b.配置数据服务器和创建导入外表

 

在完成数据导出工作后,接下来就准备将数据导入到DWS中。在这之前,需要完成一些准备工作,包括配置数据服务器和创建外表。

 

c.将数据文件并行导入到DWS

 

在创建好外表后,请参考最佳实践方法进行合理的设计部署,并通过INSERT语句,将数据快速、高效地导入到目标表中。

 

d.处理错误

 

在数据导入发生错误时,需要根据错误信息,处理错误表,以保证导入数据的完整性。

 

数据加载过程中发生的错误,一般分为数据格式错误和约束性错误。

 

  • 数据格式错误

     

在创建外表时,通过设置参数“LOG INTO error_table_name”,将数据导入过程中出现的数据格式错误信息写入指定的错误信息表error_table_name中。

 

  • 约束性错误

     

对于约束性错误来说(例如NOT NULL,CHECK或者UNIQUE),一旦发生将导致整个数据导入失败。您可以根据执行数据导入过程中,界面提示的错误信息,帮助定位问题,处理错误表。

 

2.数据核对

 

在通过GDS搬迁数据之后,需要进行数据核对。根据作业不同,具体的核对语句不一样。基本的核对思路如下:

 

确保相关基表在Teradata和DWS上的数据相同;分别在Teradata和DWS上执行作业;比对生成的结果并做相应调整;如果数据不一致,需要逐步查看作业脚本执行。

 

3.性能调优

 

数据迁移的最后一步是性能调优。

 

从Oracle导入到Gauss的数据迁移与上面操作不同,主要包括历史数据搬迁和实时数据搬迁,还提供sqluldr2、GDS等不同服务工具,两者相同的是都需要数据核对,对数据一致性进行校验,以证明迁移搬迁前后数据是一致的。

 

在经过上述四个核心步骤之后,金融机构新一代分布式数据仓库(DWS)基本已建设完成。

 

 

DWS转型成效和收益

某银行历经7个多月部署GaussDB(DWS) 数据迁移项目。新老数据仓库通过技术手段实现平滑过渡,实现上下游无感切换,之后才正式对外服务。

 

通过GaussDB(DWS) 数据迁移服务,该银行实现了数据应用系统的计算平台统一、资源调度统一、数据架构统一,以及存储空间、计算性能及存储单位成本的“两升一降”目标,数据存储量比原来提升了7.4倍、单位存储成本比原来降低超过80%、性能提升45倍,实现了优化数据仓库、增加存储资源、提升运行效率的总体目标。

 

数据迁移后,该银行提高了整体跑批效率,有效保障业务开门,大幅度提高数据仓库的批处理时效,除个别特殊任务需求外,八点前能完成绝大部分的任务跑批,数据集市亦可在八点前跑批完成并全部下发。

如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!

评价 0 条
风晓L1
粉丝 1 资源 2038 + 关注 私信
最近热门资源
银河麒麟桌面操作系统备份用户数据  123
统信桌面专业版【全盘安装UOS系统】介绍  116
银河麒麟桌面操作系统安装佳能打印机驱动方法  108
银河麒麟桌面操作系统 V10-SP1用户密码修改  102
最近下载排行榜
银河麒麟桌面操作系统备份用户数据 0
统信桌面专业版【全盘安装UOS系统】介绍 0
银河麒麟桌面操作系统安装佳能打印机驱动方法 0
银河麒麟桌面操作系统 V10-SP1用户密码修改 0
作者收入月榜
1

prtyaa 收益393.62元

2

zlj141319 收益217.85元

3

1843880570 收益214.2元

4

IT-feng 收益208.98元

5

风晓 收益208.24元

6

777 收益172.71元

7

Fhawking 收益106.6元

8

信创来了 收益105.84元

9

克里斯蒂亚诺诺 收益91.08元

10

技术-小陈 收益79.5元

请使用微信扫码

加入交流群

请使用微信扫一扫!