江西农商银行:GPU数据库+Hadoop异构大数据基础平台

项目背景及目标

随着国内外经济、金融环境的快速变化和互联网金融及其他业务的快速发展,现有的大数据基础工程建设还有待进一步夯实,大数据应用能力在服务内部管理、客户服务、风险管控等方面面临新的挑战。

江西农信的数据平台基于一台Netezza一体机,且不间断运行已经近5年了,无论是从可靠性层面考虑,还是平台的可扩展性分析,都无法满足当前业务的快速发展,因此,亟需引入先进的架构纵深拓展现平台。

项目建设目标是在原有Netezza数据平台之外,重新搭建新的数据平台,与原有数据平台之间构成双活系统。一方面,可以确保上下游业务完全不受系统更替的影响,同时确保了整个数据平台服务的安全可靠、连续稳定的对外服务。另一方面,是对新数据平台的加工能力、数据精度、加工效率进行全面验证,为从就技术平台向新技术平台的平稳过渡提供全面可靠的技术评估,为全面的技术平台迁移打下坚实基础。

项目方案

数据基础平台以hadoop和GPU技术为基础的,集数据存储、加工、服务于一体,与原数据平台( Netezza 体系)组成行内异构双活大数据体系,两个平台同时向外提供大数据服务,即同时分担负载又互为备份。

整个系统中使用DataTurbines+Impala组件双SQL引擎进行大数据任务处理。整个系统的资源还是由Hadoop的Yarn进行统一管理。数据底层则使用HDFS作为分布式文件存储系统。外围系统通过CDC工具将新增数据同步到系统的HDFS中。两个数据引擎根据系统任务读取相应数据到各自引擎中进行数据处理。

系统中Impala负责处理纯IO类任务,而DataTurbines负责处理任务中较为复杂的计算任务以及前后数据表关系紧密的任务,这是因为纯IO类任务在GPU上提供的性能提升并不显著,此部分任务交给与Hadoop结合更加紧密的Impala处理效率更高。通常,在数据加工的中后期,就涉及到较为复杂的指标加工计算,这时也是系统计算压力最大的时候,使用GPU数据库能缓解计算压力,加速指标加工类任务。

此外,银行业务报表往往包含多个相互独立的报表模块,当上一个指标处于GPU加工状态时,下一个加工任务已经可以在Impala上进行指标数据抽取工作了。通过合理的在同一调度平台上设置任务执行顺序,可以最大限度的提升整个集群的并发能力。此外,加工后的部分数据可以保留在DataTurbines数据库中,直接供外界查询,对于外围系统来说,应付日常业务的数据查询完全能做到秒级查询反馈。创新点Hadoop+GPU数据库体系的集群算力扩容传统Hadoop架构,已经具备较为完善的数据加工能力,以及一整套成熟的大数据集群监控、管理、异常处理机制。但是在应对复杂加工场景时,其加工能力则严格受制于各个节点的CPU处理能力。在Hadoop集群中引入GPU进行加速,不仅分担了CPU的计算压力,扩展了整个集群的计算能力,也加强了集群应对并发任务的能力,集群处理任务的速度大大增加。 此外,构建于Hadoop平台之上的GPU数据库不仅具备数据加工能力,还能通过对接Hadoop底层文件系统对库中数据进行实时查询。得益于GPU数据库的并发处理能力,即使不对库表进行预处理,也能得到较快的查询响应。技术实现特点1.SQL查询速度快:得益于硬件优势和软件优化,GPU数据库比传统关系型数据库有100-400倍,与内存数据库也有数十倍的提升。特别是对全表扫描,模糊查询,大表Join,各类在普通数据库中耗时较多的统计类SQL、复杂加工类SQL都有很好的性能表现。2.数据处理能力强:DT特别适合计算密集型的数据加工及数据分析场景,并行处理能力尤为突出(三级并行架构:机器间并行、机器内部的GPU卡间并行、GPU内部的计算单元间并行),可显著提升系统并发度。当数据库中有多个任务运行时,能借助高并发度,同时完成多个任务的加工和计算。 3.高可靠性:分布式的架构,使得单点故障不影响整体使用,加上完善的冗余备份机制,快至数秒间的恢复及替换,真正做到高可用,数据保存在分布式文件系统中,节点故障不影响数据的完整性。4.高扩展性:DT的分布式计算架构(MPP),使得它不仅可与Hadoop其他应用无缝对接,还可根据节点负载情况,动态优化SQL执行计划,降低数据IO成本。此外,GPU集群同Hadoop集群一样可根据生产性能需要弹性扩缩集群规模,动态调整轻量灵活。5.强兼容性:DataTurbines支持SQL2003标准,支持大部分主流数据库功能,并针对Oracle数据库 以及IBM 的DB2数据库等银行使用较多的传统数据库进行函数和语法上的兼容,降低业务迁移成本。此外,DataTurbines封装了C/C++/Python等多种编程语言的API,可直接访问和操作数据库,也支持JDBC/ODBC通用数据库连接协议。6.占用空间小,能耗低:以GPU为载体,减少硬件的占用空间,在大幅提升数据处理速度的同时大大降低能耗。项目过程管理一、需求调研及讨论阶段此阶段时间段为2018年8月至2018年9月,其间主要结合江西农信原有数据仓库情况进行调研及讨论,提交业务需求文档。二、需求分析及设计阶段此阶段起始时间为2018年9月至2018年10月,其间主要是根据业务需求文档,在分析需求的基础上进行系统方案设计。包括系统架构设计文档,概要设计文档,和详细设计文档等。三、系统开发阶段此阶段起始时间为2018年10月至2018年12月,其间完成了系统开发和功能实现。四、系统测试、试运行准备阶段此阶段从2018年12月至2019年3月,其间完成了测试计划、测试环境搭建、测试案例编写、功能测试、可靠性及压力测试等。五、系统试运行阶段此阶段起始时间为2019年3月至2019年7月,期间选定3个试点系统,进行大数据基础平台双活体系的生产部署对接。六、系统上线阶段项目实施严格按照项目管理相关制度,从计划、质量等多方面进行规范化管理,项目如期完成。至2019年7月中旬投产上线。运营情况

新的异构数据平台上线后采取逐步对接上游系统的方式提供服务,先后对接了信贷系统、网银系统、核心系统等所有系统中结构化数据以及非结构化数据等。目前整个系统已经完成了全部系统的数据对接任务,此外,Hadoop系统将冗余的加工和存储能力以多租户服务方式提供给其他有报表加工需求的业务系统,辅助他们完成报表加工任务,取得了较为不错的效果。

GPU数据库与Hadoop组成的混合数据平台上线后,实现了与原有的Netezza数据形成双活大数据平台的目标。上线至今一直稳定对外提供服务,并且数据与原数据平台核对后准确无误。项目成效

作为“双活”的基础数据平台,新的数据平台方案进一步加强了整个数据平台的稳定性,同时,其性能表现和加工性能降低了因为上游数据加工不及时带来的银行核心业务延期的问题,保障了下游系统正常稳定运行。

新的数据平台采购成本和运维费用不到原来的Netezza数据平台的一半,但是无论是数据处理性能以及集群扩展能力都远强于Netezza数据平台。在运维人员选择方面,具备Hadoop平台运维平台经验的运维人员也远多于传统IBM平台运维人员,再加上开源社区的技术支持,对于构建自主可控的数据平台具有积极意义。经验总结在此项目进展中,江西农信在大数据基础建设方面获得了宝贵的经验,随着技术的进步和大数据平台的发展,数据架构的发展还需进一步加强。

一、由数据被动支撑业务,提升到数据主动服务业务

异构双活的大数据基础平台不光是一次成功的技术和业务创新性的实践,更给本行及同业在大数据应用领域树立了一个可供借鉴的成功模版。后续可进一步拓展大数据技术在行内的应用,全面提升银行业务水平,拓展新的银行产品和服务。

建设双活的大数据基础平台,由现在的数据被动支撑业务,提升到数据主动服务业务,部分业务领域达到数据引领创新。整合银行业内外信息,充分发挥大数据新技术优势,构建具有特色、业界领先的智能“数据”分析能力。

二、探索流式计算,进行业务实时监控,降低业务风险

传统的IT系统基本只能提供T+1的、由简单归纳总结的数据构成的统计分析报表。流式计算平台提供高可靠、高容错、高性能的实时海量事件捕获处理与计算能力,并做为一种公共能力提供给各个系统内实时计算业务场景的需要,为各应用系统的实时计算提供集中统一的公共支持能力。

项目实施

上海雅捷信息技术股份有限公司

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200317A06XHL00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券