近期,DBAPlus社区发布一组分布式数据库的调研数据。通过数据,可对国内分布式数据库产品、行业现状有个全貌了解。正好本人也于近期走访不少企业用户,本文就结合这一组数据及个人一线体验,谈谈分布式数据库在国内使用情况及未来发展趋势。
(资料图)
❖分布式数据库普及程度从分布式数据库在企业内的使用情况来看,大部分企业已经有部署分布式数据库。可以说,随着分布式数据库的趋于成熟,企业已从早期的观望、了解阶段,逐步过渡到尝试使用阶段。当然我们还需客观看待之一数据,大部分用户还是处于小范围验证阶段,尚没有在核心关键场景使用。一方面是担心分布式产品的成熟稳定性程度还达不到要求,一方面也是需要有个逐步替换过程。甚至在有些企业也看到了,部署有分布式数据库,但没有启用分布式特性,仅作为单机库使用,退化为数据库的管理平台。但总体来说,分布式数据库已经走过了早期探索阶段,开始加速在企业内推广使用。
❖企业数据库架构组成从企业数据库架构的选择来看,绝大部分用户选择集中式与分布式相结合的方案。诚然,分布式数据库存在诸多亮点,但完全取代集中式数据库仍不现实。从笔者了解的情况来看,绝大部分业务场景是可以通过集中式架构解决,只有部分在海量规模、高并发、高可用、弹性伸缩等有明确需求的,分布式架构才更具优势。因此,理性看待不同数据库架构,选择更符合企业现状及未来发展架构是更为理智科学的。同时,我们也看到部分分布式数据库厂商提出了“单机分布式一体化”的产品理念,旨在打造适用范围更广的产品,以更好地满足企业发展现状,同时为未来发展留有空间。
❖使用分布式数据库场景从使用场景来看,除了传统的OLTP和OLAP外,互联网业务和HTAP引人关注。作为分布式数据库的早期使用者,互联网业务很符合分布式数据库的特点,其更为强调海量规模、高并发和弹性伸缩能力,而对数据库的ACID等要求相对较低。从目前看来,笔者仍然认为互联网业务是分布式数据库的优选场景之一。而HTAP则对数据库的算力提出更高的要求,分布式数据库提供的计算扩展能力,可以很好地满足这一诉求。当然,从使用来看HTAP的场景化还处于早期摸索阶段,尚无明确场景定义,因此占比相对较低。至于OLTP,作为数据库场景的大头,一直占比很高;对于分布式数据库而言还是有不小难度的。随着技术发展,各厂商产品正突破这一难点,加速推广使用。
❖选择分布式数据库原因至于选择分布式数据库的原因,主要还是来自之前谈到的海量规模、高并发、高可用等场景需求。此外,也包括提前的技术战略规划投入。这其中颇为意外的一点是关于降低成本。从笔者来看,大部分选择分布式数据库的成本投入是要高于传统集中式或单机架构。从节省成本角度来看,可能存在情况一是针对部分高端硬件投入减低,进而减少综合使用成本;二是通过分布式整合大量分散的数据库实例带来的“池化”效应导致的成本减低。至于从授权费用来看,用户普遍反馈并不会降低太多成本,甚至还有所提高。
❖吸引用户的分布式数据库特性从吸引用户选择的功能特性来说,主要还是扩展性和高可用性。前者是由于分布式架构提供的计算与存储的水平扩展能力所带来的,后者则是分布式架构下数据多副本特性等带来的能力。其余如一致性、实时分析、兼容稳定等能力,更多是在分布式产品直接选择的考虑因素。
❖分布式数据库的部署方式从部署方式来看,以私有云、混合云、公有云为主要方式。其背后是希望通过云平台带来的更为灵活的资源供给方式与分布式数据库的特性相结合,提供给使用者更好的使用体验。相信未来云部署的比例会进一步增高。
❖企业已经或计划部署的分布式数据库从企业选择来看,以OB、TiDB、GaussDB、TDSQL、PolarDB、GoldenDB为代表的分布式数据库产品受到广泛关注。至于具体排名及比例,因收集样板等多方面原因仅供参考把。比较奇怪的是达梦、人大金仓,以我之前了解是没有对应分布式数据库产品。从个人接触来看,目前国内的分布式数据库产品尚没有头部玩家出现,处于第一集团的厂商可能达到近十家,还有大量二、三线的厂商,整体还处于百花齐放的阶段。
❖分行业看头部的分布式数据库产品从各行业选择的头部厂商来看,主要是基于各厂商的生态、运营策略,出现了明显的差异化。各家在不同行业持续深耕的同时,也在其他行业加大投入。
❖分布式数据库选型要素从用户关心的选型要素来看,稳定性被放在第一位。针对一个新产品、新架构,大家最先关注的正是这一点。相对于各种“花里胡哨”的功能,“皮实稳定”是用户更为看重的。但这一点也往往是需要长时间积累、不断完善才可以。次之的是成本,对于分布式产品而言,由于其组件众多、对硬件的要求也较高,因而整体拥有成本是偏高的,用户在接受起来有一定困难。为应对这一问题,厂商也纷纷在单机一体化、多租户等技术方向上发力,尽量降低用户拥有成本。第三是基本功能,分布式架构产品较传统的单机或集中式产品,部分功能是有所退化的,从用户角度来讲还是希望目标产品能提供“等价”的产品能力。第四个兼容性,也是用户能够接受一个新产品很关注的一点,良好的兼容性能大幅降低用户的接受难度,这点我近期的文章中也有谈到。
❖各单项能力的头部产品从前四个选型要素来看,主要头部玩家表现整体差距不大,OceanBase 取得三项第一,但领先幅度不大,其他几家产品也在奋起直追。
❖采用分布式数据库后成本变化从成本角度来看,超八成受访者认为有所降低或者持平,这点与我的认知有差异。个人判断可能是因为原有大型商业数据库(含硬件平台)整体价格偏高,采用国产分布式数据库成本有所降低。
❖企业关注的数据库安全能力从安全能力来看,覆盖整个数据生命周期,从前期的数据产生(敏感数据识别)、数据传输(传输加密)、数据存储(数据加密、国密算法)到数据使用(访问控制、安全审计)。针对上面这些安全能力,各家产品能力差异较大,用户在选择上不得不在应用层或中间层解决上述诉求。
❖企业对分布式数据库生态工具需求从生态工具来看,可视化是最为关注的,针对一款新产品能够降低用户疑虑的最好方法就是可视化。特别是一款分布式数据库产品,组件众多且与底层资源有很紧密关系,可视化尤为重要。次之则是数据交互类,如同步、导出导入工具,通过上述能力能将原有数据迁入其中,这对于使用者来说很重要。再次之才是诊断、扩缩容、容灾能力等。其实很多个性能力,如弹性伸缩,用户在使用上也还是比较慎重的。
❖企业对分布式数据库诊断优化能力需求除了通过监控外,了解数据库运行机理的话,执行计划、算子执行情况及必要的诊断手段(如运维报告、链路跟踪)也很重要。只有通过开放更多的“窗口”能力,将跟有助于用户了解使用一款新产品。
❖企业使用分布式数据库的痛点在使用痛点上,排在第一的还是稳定性,这也是用户最为关注的。次之运维复杂性问题,分布式架构+新产品,对用户的运维提出了更高的要求。再次之是针对开发方面的改造成本、兼容性和迁移的问题。
❖分布式数据库SQL兼容性能力在SQL兼容性方面,作为流行的开源数据库MySQL标准成为首选。随着过去二十年MySQL的大量使用,国内积累了大量的MySQL开发者,这对于企业应用系统的开发无疑提供了丰富的开发者资源。首选MySQL作为兼容目标成为必然。次之的Oracle,则是因为作为过去三、四十年作为成功的商业数据库,Oracle也具备非常广发、庞大的使用者群体。正因为对上述产品的兼容性,很多数据库产品将对两者的兼容提到很高的地位,很多产品都提供了MySQL和Oracle的兼容运行模式。
❖企业数据库迁移可接受停机时间超半成受访者认为2个小时是能接受的切换上限。这无疑为厂商提供的产品提出了更好的要求。
❖数据库厂商服务响应时间情况好的产品还需要好的服务,服务响应时间能用户的第一感觉。超半数三分之一的厂商提供当天到场服务,但仍有很多次日乃至联系不到的情况。这与当前国内数据库厂商的生态建设还属早期,没有构建出完善的生态体系有关。相信随着玩家的集中,头部厂商的生态将逐步完善成熟,可提供更为优秀的服务能力。而对于中小玩家,则带来更多的挑战。
❖用户对数据库知识库的需求文档是一个产品的门面,也是用户了解产品的第一入口。记得之前白鳝老师写过一篇对国内产品文档问题的文章,在这方面还需要多向国外产品学习,逐步积累完善。次之的社区建设,也正受到越来越多厂商的关注,并投入了更多的资源。
标签: