在分布式数据库大行其道的那些年,在一次沙龙上,一个朋友说,分布式数据库入门门槛不高,做好极难,让用户能用好分布式数据库,需要厂商有极强的服务能力,不是小公司能干的。
确实如此,分布式数据库最初是从SHARDING方案发展起来的,只要能够掌握好两阶段提交和高可用架构的设计,利用现成的集中式数据库,采用乐高技术就可以搭起来一套最为原始的分布式数据库框架来,然后在此基础上不断优化就可以了。不需要投入巨资去死磕RDBMS核心的SQL引擎和存储引擎,这两个数据库核心的组件用现成的就行了。于是10年前开始,大量的分布式数据库初创团队开始推出自己的分布式数据库产品,甚至比利用开源代码搞集中式数据库的厂商还多。
几年过去了,那位朋友的话真的印证了。乐高式的分布式数据库只能适用于有限的应用场景,主要是互联网和物联网特征的,业务逻辑相对简单的场景。对于企业级信息管理系统(MIS、ERP、MES、SCM等)而言,分布式数据库因为对于应用开发比较严苛的限制,适配难度极大。虽然现在市场上存活的分布式数据库产品还很多,但是真正在企业级市场上应用比较广泛的分布式数据库产品其实十分有限。
目前来看,存活得较好,发展潜力较大的主流国产分布式数据库要么是技术能力与资本都比较有优势的企业,要么是TOB能力较强,能够提供比较优质服务的大厂。
能够获得大量的客户,能够在大量的应用场景中不断打磨产品,是分布式数据库从一个简单的玩具似的毛坯变成一个优秀的数据库产品的基础。如果不能在大量实际案例中不断地磨合和改进自己的产品,只是在自己的实验室里不断自我陶醉,这样是做不出好的分布式数据库产品的。
图片
分布式数据库虽然参与者众多,产品也十分丰富,不过真正算得上主流产品的其实数量不多。最近分布式数据库产品的第一次大考刚刚结束,本期国测中有不少分布式数据库厂商都报名了。自己的产品行不行,能不能在数据库国产化替代大潮中喝上一口汤,就看本期国测的结果了。我个人推算,最早下个月初,最晚今年年底,这份包含了分布式数据库的安可清单就会出台。在清单上的产品将会获得进一步发展的入场券,而没有上榜的企业则前途堪忧。
上图是CCSA TC601的领航者与竞争者象限。与集中式数据库相比,靠谱指数高了一些,不过也存在很多不合理的地方。把OceanBase从领航者象限里拿掉,是十分令人费解的。在技术、市场综合因素评估下,OceanBase、TiDB、GaussDB、GoldenDB、PolarDB、TDSQL是理所当然的领航者,不仅我个人如此认为,可能大多数同业人员都会认可吧。
KingWow是当年交行搞数据库的一些人出来创业的数据库项目,利用当年交行和阿里在早期OceanBase合作项目的成果(当年OceanBase第一次开源,版本发布到0.4,当时与交行有一个联合工作组,尝试在核心交易系统中使用分布式数据库),研发了金乌数据库。在一些银行有一些应用,但是把金乌数据库放到领航者象限里似乎不大合理。
对于我认可GoldenDB为领航者,可能有一些朋友有些不同意见。实际上一个分布式数据库产品是否架构上是原生分布式其实并不关键,原生分布式其实也是一个这两年被硬生生定义出来的概念。数据库产品是用来解决应用场景中的问题的,一个数据库产品是否成功,不取决于其架构如何先进(以前我也写过一篇文章《没有完美的分布式数据库架构》),而是取决于数据库产品和数据库厂商是否能够帮助用户在自己的复杂业务场景中发挥作用。良好的客户服务,也是数据库厂商重要的能力之一。随着用户数量的增加,处理的复杂业务场景的增加,数据库产品、数据库架构中存在的一些问题慢慢是能够被弥补的。技术永远不是一个产品成功的最重要因素,当年Oracle也是打败了大量技术比它更优秀的产品,才变成现在技术最好的数据库产品的。
我今天讨论的话题可能会引发一些争议,不过不用管它,等到本期国测结果发布的时候,大海退潮的时刻,那时候谁在裸泳就一目了然了。