摘要: 耗时6年,135个项目,8000页需求,累计投入11000多人月,生成的代码行1.6亿行,支持了8大业务领域,33条业务线,120多个应用场景,这就是中国农业银行大数据平台。
近日,中国人民银行公布了2017年度“银行科技发展奖”(银发奖)获奖项目。其中“中国农业银行自主可控大数据平台”项目荣获2017年度银发奖一等奖。
据了解,银发奖是中国人民银行于1992年设立的、我国金融业唯一的部级奖项。
在正式开始介绍中国农业银行(以下简称:农业银行)大数据平台前,为了便于理解,先从背景说起。
10月16日,农业银行与南大通用联合创新实验室签约揭牌仪式在京举行。
会后,农业银行研发中心总经理蔡钊、南大通用CEO武新等双方领导接受了笔者采访,并介绍了双方合作故事、数据仓库项目建设历程、还有创新实验室的研究课题与目标。
面临问题
农业银行原有数据分析平台基于传统关系型数据库建设,随着数据量的不断增大、接入的系统越来越多,系统加工效率逐步降低,同时也无法继续接入更多的源系统数据。
为满足行内数据分析和监管数据不断增加的需求,农业银行在2013年开始建设完全自主可控的大数据平台。
实际上,农业银行建设大数据平台的原因与其他银行痛点并没什么不同,都面临同样的问题:数据整合难、加工效率低、数据服务单一、利用层次低等等。
建设目标
为了解决这些问题,农业银行经过深入的调研和思考,定下了大数据平台所需要达到的4个指标。
1、 全: 能够接入农行现在的所有上游系统和源表(目前已实现135个系统9023张源表入库),涵盖行内各业务领域数据,实现数据全视图,实现全面智能数据服务。
2、 快: PB级结构化数据和EB级非结构化数据,8小时内完成主库71724个批量作业调度,MS级延迟流数据实时分析。
3、 准: 所有的数据统一标准、统一规范、统一加工、统一服务。多重数据一致性校验机制,高精度数据存储计算,精准化、个性化、即时化的数据导航及超市服务,让大数据服务更加精准。
4、 强: 能够为业务场景服务,能够给精细化管理和风险提供支持。
技术选型
经过大量研究和调研,农业银行大数据平台最终决定采用MPP数据库和Hadoop混搭的架构。
为什么选择混搭架构?蔡钊对笔者说:“是因为看到了技术发展的趋势,MPP数据库与Hadoop混搭的架构能提高效率降低成本。
MPP数据库适合高密度结构化运算,而Hadoop平台的优势在于非结构化数据处理及其扩展能力。因此,要评估哪些场景适用MPP数据库,哪些场景适用Hadoop平台,如何实现MPP与Hadoop的数据交互,同时能够做到2种架构功能互补,这是采用混搭架构要面临的技术挑战。
而对于MPP数据库选型,数据及时性、快速性、一致性、容忍度等都有很高要求。
2013年1月,农业银行进行选型测试。最终南大通用GBase 8a MPP Cluster集群,被选作大数据平台核心组件企业数据仓库及集市的数据管理基础软件。
除了产品本身外,另外一个很重要的原因,是农业银行认为南大通用的技术团队有能力做好这个事情。而这是基于双方相互了解和以过往良好的合作为基础。
蔡钊强调,做技术还是要务实一点,不能为了国产化而国产化。在满足国家自主可控战略外,还要兼顾企业自身业务需求,毕竟搭建大数据平台的目标首先是为了满足企业自身业务发展需要,为企业的客户服务。如果产品不过硬,即使有国产化政策也不会选。
架构设计
农业银行大数据平台采用MPP +Hadoop混搭架构建设,MPP分成主库和八大集市,集市按照业务领域划分,分成个人、对公、财会、监管、风险、运营、审计等七个业务领域,第八个是为各分行特色地进行服务。
MPP集群总计1129个数据节点,其中主仓共112个节点,采取双集群组成双活主库。双活架构解决了几个问题:
1、 数据备份问题 。
2、 批量处理时间窗口问题 。A集群做T+1日的批处理,B集群做T+2的联机访问,这样互不干扰,在批处理完成后,后半夜完成A集群到B集群当日增量复制。
在主库的批量时间每天运行8小时左右,每日完成的数据文件处理是119个上游系统,4090张原表,4万多个文件,每天处理量基本在6.65TB左右,月终大概是8TB左右。
其余为8套集市环境及5套外围应用;Hadoop集群总计1081节点,其中ODS Hadoop集群172节点,其余为流计算平台数据分析挖掘平台。
所有结构化数据的处理、加工都在MPP数据库里实现,数据量6.5PB,而非结构化海量数据的存储以及流数据运算、统一的预处理,都在Hadoop里进行,数据量4.8PB。
大数据平台还包括:统一调度、统一监控、统一ETL开发工具、统一元数据管理、统一数据质量管理等系统以及统一展示平台。
据了解,目前,除了八大集市之外,反洗钱、征信、经审、统一指标库、数据提取类的应用,也都纳入了农业银行的大数据平台整体的管控范围。所有资源统一调度、统一监控,并对原数据、数据质量、数据标准都进行了统一管理。
对外服务
基于大数据平台,农业银行能够对外提供的服务,主要分为四个大类:
1、 经营管理平台 ,传统的指标、报表、简单的BI,都是通过该平台来提供服务。
2、 分析性的应用服务 ,包括个人营销、对公营销、风险控制等等,统一应用接入。通过该平台可以搭建一个模块化、组件化、由底层统一的流程平台和规则云平台、SaaS服务后端的云服务的模式,进行快速开发、部署。
3、 统一报送平台 ,外部监管,包含银监会、人民银行、外管局等20多个报送系统。
4、 分析挖掘数据价值发现 ,分析挖掘平台底层支持数据可以在MPP和Hahoop里,通过权限、流程、项目管理它所对应的数据和算法,进行训练发现价值。
部署实施
2013年11月,原型环境28节点GBase 8a MPP集群搭建完成,开始试运行,总数据量200TB
2014年11月,原型环境数据迁移至生产环境56节点,GBase 8a MPP集群总数据量500TB
2015年4月7日,生产环境正式上线,可支撑总数据量1.5PB。
2016年3月,ODS下沉,实现MPP与Hadoop融合,仓内集市外迁,主仓与集市数据高速流转,构建主仓库MPP集群双活,全面提升可靠性等系列优化工作完成上线,4套GBase 8a MPP集群共152节点,总数据量超过2PB。
2017年底,个人客户,对公客户,风险管理等多个集市投产上线,建成提数平台,监管报送等应用,数据分析挖掘平台上线,部署GBase 8a MPP集群26套,总节点数1129,管理数据量约28.2PB。
2018年6月10日,大数据平台主仓双活集群稳定运行1000天。