揭秘农行大数据平台稳定运行超过1000天背后的技术力量
GBase 8a MPP大数据分析型数据库集群助力中国农业银行大数据平台稳定运行超过1000天,支撑了600多个节点,管理数据量20PB。该项目业务复杂,数据增长迅速,国产数据库的高可靠性、高可用性得到了强有力的证明。
此文,将为大家详细解读这背后的技术力量。
背景
为满足行内数据分析和监管数据不断增加的需求,农业银行在2013年开始建设完全自主可控的大数据平台。南大通用GBase8a MPP Cluster集群在众多备选产品中脱颖而出,被选作大数据平台核心组件企业数据仓库及集市的数据管理基础软件。
平台建设期间,农行与南大通用共同对MPP数据库进行深入研究、适配,总计完成数百项包括底层架构、高可靠性、高可用性、性能等方面的优化与改进。
目标
构建全行企业级大数据平台,实现数据资源统一管理,全面提升数据服务能力,充分挖掘数据价值,满足全行客户营销、风险管控、经营管理及外部监管需要,推动数据治理,全面提升全行数据资源管理水平和数据资产综合应用能力,促进业务“用数据说话”,为业务发展提供不竭的内生动力,持续推动全行业务创新、营销创新、服务创新、管理创新。
实现行内业务数据统一管理,可以采用与第三方合作等方式获取行外数据,实现数据资源的全生命周期管理;向行内各层级各业务条线,提供全方位的数据产品;建立健全数据服务管理体系;统筹规划,建设个人客户、对公客户、运营风控、风险管理、绩效管理、审计内控、监管统计、分行集市等八大领域数据集市;业务支撑涵盖客户营销、风险管控、运营分析、外部监管、资产负债、绩效管理等各个领域;基于行内外数据开展各领域和热点业务分析,深度挖掘数据价值。
挑战
农行大数据平台建设中面临以下难点:
1、如何实现MPP数据库与Hadoop平台完美混搭
MPP数据库适合高密度结构化运算,而Hadoop平台的优势在于非结构化数据处理及其扩展能力。因此要评估哪些场景适用MPP数据库,哪些场景适用Hadoop平台,如何实现MPP与Hadoop的数据交互,同时能够做到二种架构功能互补。
2、系统开发的平滑过渡
系统开发从传统数据库转至MPP及Hadoop平台,如何能够运用新的基础架构特性,并快速完成已有数据模型迁移,新数据模型开发。
3、大规模的集群环境,如何统一规划、部署、管理、监控
大数据平台涉及数十套集群、近千台服务器,对机房环境、网络环境高,需要提前做好规划设计;同时如此量级的服务器,操作系统、数据库等安装部署、升级、管理需要有统一的管理流程及操作方式;对于多集群的监控、预警、健康检查也需要有有效的流程与系统支撑。
4、如何满足上层应用、联机服务的多样性的数据需求及响应时间
大数据平台上层支撑监管、审计、零售等不同业务领域的应用,各应用的数据交互方式差异化明显,对时效性的要求也各不相同,需要设计统一的接口方式并支持配置化管理。
5、如何保证平台高可靠性,高可用性,容灾机制
大数据平台支撑上层多个领域业务,在整个IT系统中地位非常重要,平台发生故障会对业务产生不可估量的影响,因此要从数据库、应用等多个层面保障平台的稳定性及高可用性;同时要对PB级数据备份这一难题深入研究,通过搭建双活集群、数据备份至Hadoop集群等多重灾备机制保障数据安全。
解决方案
平台采用南大通用GBase 8a MPP Cluster+Hadoop混搭架构建设,其中GBase集群总计636个数据节点,其中主仓共112个节点,采取双集群组成双活主库,其余为8套集市环境及5套外围应用;Hadoop集群总计263节点,其中ODS Hadoop集群172节点,其余为流计算平台Spark数据分析挖掘平台。

总体架构图
GBase8a MPP集群承担大数据平台核心组件:企业数据仓库(EDW)、数据集市(DW)及数据挖掘、数据提取、监管报送等应用;
Hadoop集群承担数据操作区(ODS)处理、历史数据备份及流计算以及部分分析挖掘工作。
大数据平台还包括:统一调度、统一监控、统一ETL开发工具、统一元数据管理、统一数据质量管理等系统以及统一展示平台。
关键技术1:混搭架构
运用Hadoop集群非结构化数据处理优势,将数据清洗、转换、字符编码自动识别转换、去重等ODS任务分解为分布式、并行执行的M-R作业,同时将全量数据加工为增量数据,降低数据处理量级,显著提升ETL性能。
主库作业通过GBase8a MPP加载工具直接从Hadoop读取并加载LZO文件,数据入库效率提升显著,同时降低了大量网络开销;主库MPP集群在增量数据入库后,完成基础模型加工、指标汇总等高价值、大数据量复杂运算;集市MPP集群主要负责各领域宽表加工、多维分析(CUBE)及部分报表加工。
关键技术2:MPP集群双活

双活架构示意图
通过运用GBase8a MPP集群间同步工具识别主集群增量数据(以DC为单位),点对点传输至备集群,实现主备集群数据一致;同时结合大数据平台批量加工调度平台、监控平台,制定双活方案。实现:1)、每日增量数据备份;2)、主集群负责批量加工、备集群负责联机查询的负载分担模式(Active-Query for Asymmetric Workload);3)、主集群发生异常时,批量加工可在较短时间内切换至备集群。
集群双活机制解决了大数据场景中PB级数据备份的难题,也提升了大数据平台业务高可用性、稳定性,保障了批量加工业务的连续性,同时提升了平台整体服务能力。
关键技术3:MPP集群间数据交互
主库完成基础模型、指标汇总后,各集市按照业务领域从主库获取全量或增量接口数据,单日接口数据达上百TB,如采用传统文件交换的方式,不仅效率远无法满足集市支撑的上层应用需求,也会造成系统运行不均衡、性能缓慢等异常。GBase8a MPP数据库提供的透明网关机制(DBLink)有效解决这一难题,通过该机制,8个集市每日获取主库接口数据的时间缩短至总计约1小时,同时保障数据传输的高可用性。
Dblink传输示意图
目前大数据平台已经接入超过90个业务系统源数据,向资产负债决策支持、定价管理、资金及FTP管理、信用卡客户价值、信用卡数据平台、支付信息统计分析、电子银行报表、客户关系分析、客户统一视图、信息共享平台、数据信息报告系统等20多个应用提供数据服务,支撑全行33个业务条线共130多个分析场景
价值
作为农行大数据平台核心架构的GBase8a MPP Cluster,其海量数据处理能力为用户提供了性价比很高的海量并行复杂数据处理平台,帮助客户形成PB级以上的业务数据统一视图 ,为客户提供及时高效的数据分析结果;
其高性能、系统架构高可扩展特性,保证平台接入更全面的业务数据,满足市场营销、内部管理、内外监管的分析需求;
其高压缩比特性,为用户提供完备压缩态存储管理海量数据的能力,进一步降低客户数据仓库建设的成本;
其高可靠性、高可用性包括世界首例PB级数据量下的双活集群,保障了农行大数据平台连续稳定运行超过1000天。