很感谢今天下午有这个机会给大家分享金融机构转型经验的分享,我是来自中国信通院云大所的马鹏玮,给大家汇报一下中国信通院通过测试观察到的国内的分布式数据库发展的情况,因为我们是个第三方的测评机构。
先简单介绍一下为什么我们会做这个议题,而不是中国信通院分布式数据库实践分享、数据库研发分享而是测试分享。简单介绍一下中国信通院,中国信通院成立于1957年,最早名字叫做邮电部邮电科学研究院,1994年政企分离变成邮电部科学研究院,98年改成信产部电信研究院,2008年改成工信部电信研究院,2014年改成中国信通院。
我们院的职责是5部分,在分布式数据库项目里面都有体现1、重大决策支撑者,比如政府工作报告、十三五规划、十四五规划涉及到相关政策方向是我们帮政府支撑。2、行业发展规划者,行业怎么发展投哪些钱用哪些单位我们帮助政府咨询。3、技术标准引领者,标准体系长什么样。4、产业创新推动者,我们有很多联盟比如工业互联网联盟、5G推进工作组、区块链的推进工作组等,会有一些行业组织在我们这儿挂靠,做产业相关的事情。5、政府监管的服务者。举个特别典型的例子,大家电信投诉是投诉到我们院,我们下达到运营商,当然还有类似的工作。翻译过来我们的职责是两部分,标语是政府智库行业平台,给政府打工,为行业服务,所以我们是个第三方组织,能够从这个角度看一下产业到底发展的怎么样,是个客观公正的结果。
我的分享主要从5个方向进行:1、分布式数据库的测试总览,在座好多技术专家,我们提分布式数据库也分很多类型,它不是一个产品,是很多类的产品,先把测试总览给大家看一下,接下来2345是针对事务数据库做报告,因为事务数据库是银行核心的内容,后面都是针对事务数据库的。
我们的测试分两部分:1、认证;2、评审。认证流程自愿参加公开公正,是个标准化的流程,评审也是产学研所有的力量一起做评审,集体认定这个评审到底能拿到什么结果。测试整体过程会检查很多东西,如图只是一些技术细节,相互细节都会给大家做检查,给大家展示这个目的说明我们测试很严谨、公正。
这是测试结果的总览,分三类,1、分析型数据库以前叫MPP数据库现在叫分析型数据库,分析型数据库主要出了4样成果,一是行业标准,大数据分布式分析性数据库技术要求与测试方法已经报批了,都能查找。功能性测试测了14款产品,今年上半年华为做了512节点的大规模的测试,也破除了之前大家说MPP数据库是个有节点限制的产品,我们相当于用事实打破了这个传言。
性能测试测了6款,其中有200节点的大规模测试是华三做的,这也是今年上半年做的,测试结果还不错。还可以提供选型咨询服务,因为我们的测试结果相当于一线的数据,可以根据这些数据帮甲方客户做选型分析,给金融、电信、政务行业的用户提供选型咨询服务。
2、事务数据库是从17年研究启动的,第一个结果是行业标准已经报批立项了。第二是白皮书,去年发布的《金融分布式事务数据库白皮书1.0》,功能性测试完成11款产品,选型咨询。
3、时序数据库,随着今天工业和5G,很多工业企业开始关注时序数据库概念、产品和技术,我们开了这么一个方向,成果一是行业标准、功能性测试、选型咨询已经有7款产品做了技术能力的测试。这是总体的概况;
接下来单说事务数据库。首先是个大图,为什么我们要启动分布式事务数据库的研究?其实我们是做了一些相关的理论梳理,图可能看不清,因为分辨率的问题,到底它是怎么样的发展情况,总结下来有3点,1、以前发展方向主要是集中式数据库但是它现在有点问题。2、集中式数据库发展出IBM和oracle等巨头。3、开源式数据库发展取得成果。
第一互联网业务的爆发带动了整个业务的需求。第二是从集中式向分布式转型取得了一个积极进展。第三是政策部门已经开始关心这个问题、鼓励这个问题,在催着大家往前走,所以是市场需要、国家支持,我们开始启动了相关的项目,整体事务数据库的发展历程,从06年开始到20年,一开始是分布式管理系统,分化成分析型和数据型,分析型涉及传统的分析型架构,事务还是以Z系列、AS系列、IBM、oracle的那些东西来做,纵向扩展,只是最近发现纵向扩展也不太行了,正好还有一些别的原因,所以分布式事务数据库开始兴起。很多厂家从去年开始鼓吹HTAP的概念,这个可能是未来得趋势。
我们还梳理了一下金融行业,我们一开始就特别关注金融行业,这是金融行业的强需求,金融行业盘子很大,而且动力是很内生的,不是别人催着往前走,是内生的动力。盘子很大,银行机构4000多家,证券机构150,保险170,支付机构200,每个单位针对数据库平均每年支出大概500多万,金融行业数据库应用现状我们调研了一圈,基本典型的股份制银行个位数的大机,百级别的小机,百级别X86,server、windows等支撑外围应用,整体的占比情况,这是我们调研出来的结果。
金融机构都在做很多分布式数据库的尝试,这里面第一个问题,细节知识是缺失的,比如分布式数据库不是一个东西是好几个东西,我们要阐述出来,把现状、细节都抠出来之后才能把活干好,大家可以看一个典型的一句话,一句话可以理出很多很多问题,分布式事务数据库应用在金融领域很有必要,这一句话大家拆开来看,很多大家面临的问题大家都不清楚。
分布式事务数据库是什么?和传统的区别是什么?发展怎么样?具体怎么落地应用、应用之后对业务造成什么影响?应用之后对现有人员和资源改变是什么?有没有其他已经成熟的应用案例借鉴?金融行业和其他行业的区别是什么?金融监管机构的导向是什么?很有必要到底是有什么必要、紧迫性多强?长周期内是不是一直有强需求,还是一年干完了就不用干了,这都是问题。
第二个问题,面临问题是选型门槛是缺失,再说一句话“金融机构成功应用分布式事务数据库”新闻稿都这么说,这里面的问题金融机构怎么想?它选型的时候一定想安全性高、性能强劲、成本低廉、应用简单、便于维护等这些问题,分布式事务数据库这边的提供厂商内心会有一个疑惑,什么样的安全叫安全性高?什么样的强劲叫强劲?他内心是打鼓的但是又不能暴露出来,一定跟金融机构说我们一定会实现,这产生一个偏差,供需两方是有一个沟壑的。
介绍完背景之后介绍一下我们的工作成果,首先工作成果第一个,梳理一下产业,现在国内国外、金融机构到底都谁在行动?针对这个方向首先国外的如屏幕上这些,国内的也列了一些,但是其实只是部分产品,目前国内相关产品怎么都有三四十款,金融行业当前进展宣布自己开始试点、实践,已经有成功经验的金融行业的金融机构已经有不少了,还有很多没有出来宣布的或者某些没有做到很大但是已经启动试点的都没有列进来,其实它还有很多,这只是简单的梳理,已经有这么大的动力,这些人已经开始行动了。
第二,我们做的成果是搭建一个供需平台,相当于甲乙两方坐在一起聊这个事情,因为买东西和卖东西的不沟通好这个东西肯定发展不起来,所以我们搭了一个项目平台牵头单位是中国信通院和支付清算协会,参与单位有中信、北京银行、光大银行、建设银行、民生银行,华为、中兴、蚂蚁、腾讯云,巨杉等,这是目前的,设定宗旨工作目标和计划,制定了标准,写了一本白皮书,完成了11款测试结果。
成果三,梳理知识体系,我们已经发布了白皮书,后续还会迭代,告诉大家应该注意什么问题,把缺失的问题解决掉,分了6章,概述、金融概述、涉及业务改变、迁移策略和建议。
成果四是基础能力分布式数据库的进入基准,有50项技术要求,分了6大块,功能、兼容、管理、高可用、扩展和安全,每一块还有很多细节,大类是50项,比如备份分实时备份、增量备份、透明加密、不透明加密,分开更多了,大类是50项,现在是行标报批了,大家可以查。
标准挺不容易做出来的,如果不是相关做标准的机构不太明白我们这个工作具体流程是怎样的,其实我们工作具体流程说实话就是吵架,标准就是共识,共识是什么?比如咱们屋子里200个人,200个人对同一个东西达成同一个认识是很难的,因为大家认知不太一样、所处环境不太一样、代表的利益不太一样,怎么达成这样的结果,只能一次次磨合,但是共识一定是生态建设的第一步。
成果五是拿了市面上11款产品做测试和对比,时间线是从2018年8月份开始一直到19年4月份,也就是刚刚过去的11款,热璞、腾讯云、百度云、爱可生、阿里云、星化,共是11款测试,这是我们做的工作,会针对刚才的成果五,就是这一页图做测试结果的分析和展示。
首先11款产品的测试结果共50个测项,跟大家说了标准,现在的计量方法是这样的,一个测试项要求全部通过,因为一个测试项不仅是一点点要求,里面分了四五个,四五个全部通过计1,要求四五个里面通过两个或者三个计0.5,整体分布结果,完成总数、功能、兼容、管理、高可用、扩展性、安全性。
首先针对结果做了测试观察一,产业的能力水平到底怎么样?这是很高层次的概念,这个产业发展得如何做一个统计,测评整体完成度挺高的,所有参评产品都是85%以上的完成率,一家企业产品完成100%,产业的水平得到数据性验证。之前我们一直说国产的不行,不行为什么说不行?说行为什么说行?缺的就是数据,我们给大家提供了数据,整个产业到底怎么样。
第二,金融机构非常关系的问题是分布式事务,第一种论调分布式事务不行,第二种论调分布式事务,是真事务还是假事务都是问题,很多人在混淆概念,我们把它拆开。第一针对分布式事务,给大家介绍一下我们的测试方法,首先保证有两条记录,这两条记录一定是分布在两个节点上,一个线程一直加某个,一个线程加另一个,相当于是真分布式的,另一个线程一直在读,两个线程在跑,循环很多次,一直验证它的结果,提前声明能支持什么隔离级别,在这种隔离级别下到底符不符合要求,做个记录,通过这种测试方法测试出来的结果,11款产品分布式事务能力均得到保障,当然是基础的保障,读未提交、读已提交种隔离级别均实现,少量企业实现四种隔离级别,但是只是小量、低频的业务负载,虽然我们执行了很多次,但是它的负载压的并不是特别大,我们后续会改进,同时目前没有衡量分布式事务的性能。
第三是11款产品之间大家主要的差距点,哪儿好哪儿不好做了归类,我们算了方差,每个大项大家水平归一化之后,一个大类有10项,完成9项就是9,每个大项规划之后的数据求方差值,波动大的项,这里面波动大的集中在扩展性,因为扩展性有在线扩展、在线收缩有几项,这里是差距大的。扩展性和兼容能力这两项大家水平差距有点明显的两大类测试项,具体到每个细节,外部表和在线缩容这两个是很多厂商不具备、存在差异的问题。这是主要差距点的问题。
第四个测试观察是架构的选择,都说分布式,其实总结下来分三种,业务做分布式,业务人员很累,规划好每一块业务该干的活,上层把事务解决掉。这种我们不讨论,第二种基于中间件,相当于中间件做负载平衡做路由和负载策略,中间件11款里面有9款,也就是说这个技术非常成熟,很多开源方向可以选择,而且发展了很多年,这个方向是比较被大家认可广泛采用的。还有一种基于新型一致性协议,比如tafDB和sequoiaDB,整体的架构选择基于中间件82%,基于一致性协议的18%,中间件协议很成熟。
第五是开源的依赖,中间件架构,不包括中间件架构,所有的厂商基本上没有人自己造轮子,数据库里有很多解决方案尤其MYSQL和PG,MYSQL是6款,PG的是ant和TB两款,开源或自研也划了图,整体来看基于MYSQL是最多的,基于PG因为PG开源协议相当于一个更公开、更清明、更没有风险性的协议,导致大家比较青睐它,部分选择自研引擎,主要是生态的完整性。数据库不说产品能力会有差异,其实大的差异性在于它的生态完整性,到底有多少人参与了技术的研发、技术的贡献、参与了整个社区的推动,这是各个数据库厂商比对很大的问题。MYSQL厂商已经考虑用买Mariadb做第二个备份,应用于mySQL闭源之类的问题。
测试六,细节差距,单独拿出来高可用,实现方式是节点级主备或者数据分片级主备,分布式数据库有的高可用实现了,但是其实有的也相当于实现了节点级主备,更好的是做到数据分片级主备,切每个片都可以按照你的意愿做主备的选择。支持率较低项集中在存储过程、自定义函数、序列、外部表,各厂商在同一项细节完成度仍存在差距,例如运维统计分析的全面度、备份还原便捷度也是不一样的,故障管理的感知模式还有权限审计的粒度,都是很细节的差距,但是这些差距挺能体现一个厂商的能力的。我们还观察到有过金融级案例的产品细节成熟度很明显是有优势的,产品成熟度是toB和toC差异化成功的关键因素,比toB要的还有产品服务的便捷性,到底能不能很快很方便的用起来,这是一个很关键的点,所以我们单独拿出来试一下。
看了刚才11项结果,既然放在一起比肯定有好就有坏,但是我想给前面11款产品做一个总结,既然敢第一年参加这个测试一定是特别有信心的,不然的话一定不敢参加这个测试向大众暴露出来你的实力,因为有时候很怕可以隐藏着不说,但是第一年参加测试的厂商即使排名不那么靠前也是很厉害的一个队伍里面的。实践案例的打磨是成长最快的方式。
说一下我们的未来计划,针对事务数据库的,首先这个东西技术门槛很高,缺乏相应国际经验与成熟商用方案,转型的路径不明确,标准不统一,配套组织及体系不成熟,推广发声渠道难以拓展。
这5个难点里面1是我们解决不了的,是数据库产品企业依靠自己的努力完成的东西,但是2345我们可以做一些东西,我们设了5个我们要努力的方向:1、产品技术的标准、运维体系标准、迁移标准;2、宣传,就是政策渠道,产业渠道和国际渠道。3、测试,除了基础能力之外还有性能水平、服务能力。4、试点,开发行业模型,联合单位试点、推广落地经验。5、配套,继续扩大我们平台,鼓励或者自运营一些运维服务社区解决后续产业碎片化之后产生的问题,碎片化之后每家金融机构担心服务我的企业死掉怎么办,很担心这个问题,死了以后没有运维了,虽然买了你的数据库,但是死了之后我们怎么办,我们综合起来,即使这个企业死掉了也有人帮助你解决剩余的问题。政策指引力度我们也会持续加强。
以上就是我的演讲。
相关阅读: