GBASE专注用户体验 之一

发布时间:2016-03-11

640.jpg

GBASE专注用户体验

“为中国用户提供世界级的国产数据库”一直是GBASE努力的宗旨,并且GBASE也一直在为之而努力!

十多年的专注也让我们得到了喜人的市场反馈,以下是专载自《金融电子化》杂志2015年12月刊,来自中国农业银行软件开发中心 赵维平 处长的文章

 

 

国产MPP架构数据库在
金融大数据计算环境中的研究与实践

 

 

文 中国农业银行软件开发中心 赵维平
 

    

    随着农行近年来信息化体系建设,数据量急剧增加,对大数据处理、数据分析和挖掘等需求不断扩大。着眼未来,为更好地利用大数据领域新兴技术构造大数据平台,应对市场变幻、带动业务模式创新,寻求新的技术方向已成为必然选择。同时近年来信息安全问题越来越受中国政府和企业的关注,关键领域信息系统的国产化逐步开展。基于信息安全、技术革新等多方面考虑,坚定地走国产化替代道路,在基础架构和核心领域选用国产软件,是我行在技术选型方面重点考虑的因素之一。为此,我行加大了国产化替代的研究力度,对国产MPP数据库产品进行了深入研究和选型,最终选择国产MPP架构数据库——GBase 8a MPP Cluster,通过实际应用进行研究、分析,在架构设计、资源管理、功能实现等诸多方面对GBase 8a MPP Cluster数据库进行了改进与完善,最终形成一个适用于金融业PB级大数据计算的数据库产品,基本满足我行数据统计分析和应用需求。

 

 

 

总体架构

 

 

 

 

 

    在项目的实施过程中,结台我行多年对各种数据库的使用、研究与测试比对,从实际需求出发,我行对GBase 8a MPP Cluster数据库进行重新设计和数据库进行重新设计和优化改造,形成能够支撑我行PB级数据处理的大数据计算环境方案。其总体架构如图1所示。
640 (1).jpg

图1 总体架构图

 

    整个解决方案由56节点的GBase 8a MPP Cluster数据库系统和8台ETL服务器组成,硬件采用华为的RH2288 PC服务器,每个数据库节点服务器配置为:2x10核CPU,3Tx12硬盘7200转速,内存256GB。系统具备PB级裸数据存储能力,在项目测试验证中,每天运行60000个以上的数据加工作业和交互式数据查询任务,处理52个源系统1287张源表共1.4TB的接口数据,月底处理3.6TB数据最大表记录数达到2000亿条。数据处理任务包括大量负责的时间拉链和统计汇总聚合运算处理。实践证明我行研发形成的PB级大数据计簋环境能够满足金融业的要求,具备向其他领域推广的可行性。

 

 

 


 

技术创新
 

 

 

 

    在项目的研究与实践过程中.我行对国产MPP架构数据库产品进行了优化和完善,保留其自身的列存储、粗粒度索引、智能压缩以及扁平架构等技术特点,实现了多项关键技术的创新性突破。在架构设计、资源调度、执行效率等方面研究、设计和改善了上百个技术问题,使国产数据库产品基本达到商业化应用水平。对国产MPP产品改进、优化方面的创新如下。

1. 集群架构

    针对集群架构的改进,包括两个方面:对每个节点的功能模块分组与会话建立与执行的机制。

(1) 功能分组型MPP架构。基于对目前市场上主从MPP架构和非主从MPP架构的研究和实践,我行提出建立功能分组型MPP架构的改进方案:将GCluster、GNode、GCWare三大模块分别部署在不同的节点(如图2所示),形成三种功能分组集群。三种功能分组集群可分别扩展,彻底打破集一方面成为瓶颈而限制整个系统的性能和并发接入能力,提升了系统的效率及稳定性。

640 (2).jpg

图2 功能分组型MPP架构


 

  (2)异步SQL会话建立与执行机制。由于GBase架构中GCluster向GNode发送命令时使用多线程加同步API方式,在构架和性能设计方面存在严重不足,造成SQL并发受限。针对这个问题,项目组提出建立异步SQL会话与执行机制。通过异步方式执行SQL将不占用太多的网络SOCKET,同时GBase无需启用太多线程,节约了连接数,扩充了通道容量和集群规模。从而提高了并发访问数量,较好地解决了SQL并发数较大时,系统资源消耗严重,

执行性能下降等问题。

 

  2. 资源管控

    资源管控方面主要包括对外部客户访问的机制和内部资源调度两方面的优化。

(1)并发访问调度机制的优化改进。 在混合负载和并发环境中,MPP数据库集群执行LOAD、DDL、DML以及SELECT并发时,依赖于GCluster的并发机制。而GCluster的并发控制分为两个层面:外部并发控制和内部并发控制。我行创新性地提出将GCluster中外部事务的并发控制,调整为通过两个服务来管理,即分布式锁服务和分布式优先级服务。对内部并发控制通过另外一些特定的机制来实现,通过对访问调度机制的优化改进,扩展了并发度,提高了系统的整体性能和可用性。

    (2)全方位资源管理技术。一般MPP数据库系统对资源的管理通常采用分层次,在不同层次进行不同的限制和动态调控的机制。项目在对GBase 8a MPP Cluster最终优化设计中考虑采用三级管理技术实现对资源的有效管理:在连接层,控制进入集群的连接数量,以求达到系统按照资源最佳模式运行任务;在会话层,将所有用户分为系统管理员、DBA及User三种角色,实现优先级管理;在执行层,根据用户优先级获取系统管理员设定的资源控制策略,

并按照策略执行任务。通过三级管理技术有效实现了全方位资源管理。

  3. 执行效率

执行效率的优化主要从算法和并行提交机制两个角度进行优化。

   (1)按照算子归类的算法优化。MPP数据库在分布式查询优化中的重点是对SQL进行解析和优化,尽量把解析后的SQL以最优的方式分布到各个节点,由各个节点执行,从而避免表数据在节点间频繁移动。根据MPP数据库SOL解析的特点,项目对算法的优花思路主要区分两类集群算子,包括分布式JOIN和聚合运算,针对不同的集群算子采用差异化的优化策略,减少大量数据在节点间移动,提高了SQL执行效率。

    (2)并行提交机制。GBase 8a MPP Cluster采用主副本机制实现SQL的事务完整性,之前采用两次Commit达到保证SQL事务完整性的目标。在本项目中,基于测试中的一些问题分析,将原有两次Commit机制变为并行提交,提升了性能。

  4. 数据交互

    数据交互的技术创新包括:GBase 8a MPP Cluster同种数据库之间的数据交互和MISP集群与Hadoop集群之间的交互。

(1) 同种数据库之间高效数据传输GBase 8a MPP Cluster同种数据库之间的数据交互,需重点解决数据仓库与数据集市大量数据同步时,时间窗口资源紧张的问题。在本项目中采用数据厍之间DB_Link连接方式,并充分发挥GBase 8a MPP Cluster数据均衡分布和并行优势,在集群间直接进行数据传输,无需中间落地,提高了传输效率,方便数据同步。

(2) 基于Hadoop实现数据备份。田于GBase 8a MPP Cluster集群与Hadoop集群中的数据都是分片存储,项目组利用GBase 8a MPP Cluster计算节点和Hadoop DataNode间直接通信。通过在每个GBase节点上安装Hadoop客户端和备份恢复程序,使用Hadoop读写工具对各个节点的数据库二进制存储文件并行进行备份和恢复,充分发挥Hadoop高读写吞吐量的优势,解决了海量数据的据备份与恢复难题。

 

 


 

应用成果
 

 

 

 

    经过两年多时间的研究,本项目利用全行存款、信贷、投资等核心业务领域52个系统数据进行实际验证,形成了搭建金融业PB级大数据平台的可行性方案,在提升国产MPP数据库软件,突破国外基础软件在该领域的垄断等方面达到了预期目标,在保证国产信息安全方面尽到了我行的社会责任。
 

    一是打破了国外基础软件在我国的垄断。本项目首次在金融领域基于国产MPP数据库和PC服务器,完成了PB级大数据计算环境领域的突破。在国内大数据计算领域撕开了国外MPP数据库产品垄断市场的缺口,为国内金融乃至其他行业在大数据计算领域建设提供了新的选择。

    二是在保证国家信息安全方面进行了有益探索。一直以来,金融领域核心系统建设中IOE的地位不可撼动,而在2000年左右开始的大型MPP数据仓库建设及后续的大数据建设中,面对海量结构化数据处理除了国外产品别无选择。我行通过本项目在大数据处理、分析等领域积极探索和实践,打破了只有国外产品才能支撑PB级结构化数据计算的垄断局面。其结果证明了国产MPP数据库也能完成PB级数据的计算,该项目的成功是通过信息国产化保证国家信息安全方面的典型事件和有力证明。

    三是提升了我行大数据领域的技术水平。我行尽管多年来一只不断跟踪前沿技术,但由于国外厂商的保密,对MPP数据库领域技术的理解仅限于应用层面。在本项目中,与国产MPP数据库厂商坦诚开放,深入台作,对国产MPP数据数库产品作为“白盒”的深层研究,在解决GBase MPP产品问题的过程中,使我行对MPP架构数据库从深层原理上彻底理解并掌握,提升了我行在大数据领域的技术水平。

    四是节约大数据平台建设成本。本项目研究和实践的成功,使金融业在构建PB级大数据计算环境的过程中`,又多了一种经济型选择。基于国产MPP数据库,我行大数据平台建设的成本由亿元 级别降低到千万级别甚至百万级,也使得PB级数据仓库和大数据平台成为绝大多数企业都可以承担得起的计算环境。

 

 

结束语

 

 

 

    农行率先响应政府信息国产化的号召, 以强烈的使命感不惧风险,敢承压力,认真规划,谨慎实施,从MPP数据库行业整体了解,综合考虑,选定国产MPP数据库为初始产品,选择华为PC服务器和SuSE Linux ll SP2作为配套。在厂商的配台下,通过大数据量、多场景、高负载、多并发的检验,发现问题、分析问题、细究原理、改造设计、开发修正、测试验证,不断提升改进国产软件。最终通过双方的共同努力,国产MPP数据库集群产品在PB级数据处理方面填补了国内空白。同时为国内金融业乃至其他行业,提供了低成本选择。既可迫使国外MPP数据库厂商降低价格,又可让因为价格原因对大数据计算环境望而止步的企业敢于尝试,有助于扩大国内大数据计算环境应用的范围,推动国内大数据领域发展的步伐。
 

 

(国产MPP架构数据库在金融业大数据计算环境中的研究与实践荣获2014年度“银行科技发展奖”二等奖)