正文约2100字,预计阅读时间3分钟
国产数据库兼容开放SQL生态是必然趋势,任何封闭路线都将是自掘坟墓,即便当下受信创硬性任务影响产生一定市场效应,但长远发展必然是越走越窄。
今时不同往日,开辟新的SQL生态路线已经不适用
40年前,数据库会发展成什么样,所有厂商与市场都不确定,处于摸着石头过河的阶段,每个厂商都开发一套属于自己独有的SQL路线。然后因为数据库语法相差太大,用户捆绑严重、应用适配成本太高、技术发展混乱,所以出现了ANSI SQL标准,规定关系型数据库的SQL应该具备哪些功能。
但实际这些标准是在早期的数据库产品之后产生的,所以不可能严格限制已有的SQL语言,例如同样作用的函数、功能,在不同数据库内命名和调用语法是不同的。而作为近乎从0到1的数据库发展初期阶段,每个厂商都建立了自己的市场区域,所以数据库厂商更有意识的制造迁移困难,其中一点就是他们非常乐意开发一些区别于其他友商的语法,目的就是要对已有用户形成强制捆绑;例如大家都号召用户采用自己产品提供的存储过程进行数据逻辑加工。相信大家都知道,在这方面Oracle是最成功的,所以我们现在进行Oracle替换的最大成本就是存储过程迁移和应用改造!
10年前,国产数据库开始突破性发展,短短十年间,数百个国产数据库产品横空出世。大部分产品兼容PostgreSQL和MySQL,这其中一部分原因是这两个开源技术的成熟和普及,给了我们“国产化”的便利;另外一个重要的原因也是因为“采用更严格统一的SQL标准”是市场必然需要和选择。
在信创政策下,各行业快速试行Oracle替换,取得了不错的成绩,但也吃尽了去O的苦。但凡有点觉悟、往前看一眼的应用厂商和用户在进行选型时,都会考虑未来再次发生替换的风险和成本。第一,不管大厂、小厂,某一款数据库产品是否能够得到长久技术支持和保障技术可靠性都是不确定的,大厂虽然企业强壮,但是数据库团队未必稳定,小厂时刻面对竞争压力。第二,未来成本的考虑,就像甲骨文这种产品,一旦形成市场垄断以后,用户丧失议价权,IT成本风险。
如何才能保障未来不会像今天这样重蹈覆辙(去O难、成本高),被一个“小小的”数据库厂商捆绑?唯一的方法就是选型产品属于某一类严格统一SQL生态中的一个。而这个生态只有两个选择,那就是PostgreSQL和MySQL生态。
为什么没有Oracle生态?首先没有产品能够完全与Oracle进行兼容,通过“逆向工程”兼容Oracle成本太高,而兼容MySQL、PG完全不需要逆向工程,用极小的成本就能建立一个严格统一SQL生态,并且这两个生态已存在的语法已经足够强大;第二,兼容Oracle仅仅是当前降低迁移成本的临时阶段性需求,花费过大成本做这个事情对国产技术创新发展没有任何推动价值。另外,对Oracle常用语法进行兼容已经成为当前国产数据库必然选择,不管是MySQL生态还是Pg生态的产品,都已经兼顾了Oracle的兼容性,整体迁移成本已经可控。
所以,我们看到大部分应用开发厂商,都在新版本业务中丢弃传统的存储过程开发数据的方式,改用最通用的标准SQL处理业务数据;而很多用户在进行数据库选型的第一步就是选技术路线,先确定要走哪一个生态路线,然后在此路线中进行产品选型。
只要选择一个兼容开放的生态,未来如果技术支持出现风险、成本不可控,甚至产品不稳定,都能够随时低成本的在统一技术路线上选择另一款产品,选型风险降到最低。这对自成一派的封闭生态产品是不可能做到的,它们虽然能力不及Oracle,但是其捆绑形态却和Oracle完全一致。新兴起的数据库厂商也都意识到了这样的问题和市场需求,或主动(自研产品兼用开放生态)、或被动(直接采用开源产品二次开发),但这样的趋势已经形成,未来只会愈演愈烈。
国产数据库的生态路线
当前集中式数据库信创名录中,11个国产数据库产品中,包括5个兼容MySQL生态,5个兼容PG生态,仅有1个是走自己的封闭路线(仅兼容Oracle生态)。
而在前几天发布的“投票我心中的【分布式DB信创名录】”中,目前排名前10的产品中,其中7个兼容MySQL生态,3个兼容PG生态,一个封闭生态的也没有。
虽然看起来分布式数据库中兼容MySQL生态的产品数量较多,但这与本次大部分分布式数据库厂商送测的产品属于OLTP型有很大关系。在OLTP领域,国内厂商似乎更热衷于直接采用MySQL进行开发,例如GoldenDB、TDSQL、HOTDB。但也有相当一部分企业选择用PG,或者兼容PG,例如易鲸捷的QianBase、华为的GaussDB,以及暂未进入前十的人大金仓等。
而在OLAP类分布式数据库中基于PG生态的产品数量几乎处于绝对优势,包括华为的GaussDB(DWS)、QianBase MPP、偶数、Hashdata、四维纵横、东方金信、优炫等等,几乎所有的OLAP类数据库都采用兼容PG生态。
所以我更看好Pg生态的国产数据库技术发展,毕竟这一生态所能覆盖的业务场景更多,用户在构建自身IT架构时,无论单机数据库、分布式OLTP数据库,还是分布式OLAP数据库,都可以选择PG生态,企业的开发成本、运维管理和学习新知识的成本统统都降低了。
而且,2023年,stackoverflow统计最受欢迎的数据库产品时,共计76634名开发人员投票,其中选择PostgreSQL的人占比45.55%,超过了选择MySQL的人(41.09%)。
https://survey.stackoverflow.co/2023
在3940名初学者中,选择MySQL的人员占比45.71%,选择pg的人数仅为23.38%;而在6万名专业开发人员中,49%的人选择了PostgreSQL,选择MySQL的人数下降到40%;相信未来全球市场上的PG生态都会发展越来越快。
END !