中国信通院云计算与大数据研究所工程师马鹏玮:中国信通院分布式数据库测试观察
介绍完背景之后介绍一下我们的工作成果,首先工作成果第一个,梳理一下产业,现在国内国外、金融机构到底都谁在行动?针对这个方向首先国外的如屏幕上这些,国内的也列了一些,但是其实只是部分产品,目前国内相关产品怎么都有三四十款,金融行业当前进展宣布自己开始试点、实践,已经有成功经验的金融行业的金融机构已经有不少了,还有很多没有出来宣布的或者某些没有做到很大但是已经启动试点的都没有列进来,其实它还有很多,这只是简单的梳理,已经有这么大的动力,这些人已经开始行动了。 第二,我们做的成果是搭建一个供需平台,相当于甲乙两方坐在一起聊这个事情,因为买东西和卖东西的不沟通好这个东西肯定发展不起来,所以我们搭了一个项目平台牵头单位是中国信通院和支付清算协会,参与单位有中信、北京银行、光大银行、建设银行、民生银行,华为、中兴、蚂蚁、腾讯云,巨杉等,这是目前的,设定宗旨工作目标和计划,制定了标准,写了一本白皮书,完成了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要的还有产品服务的便捷性,到底能不能很快很方便的用起来,这是一个很关键的点,所以我们单独拿出来试一下。 (编辑:东莞站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |