用不同的立场去看《哈姆雷特》会有不同的解读,每个立场不同的人可以在《哈姆雷特》中看出完全不同的意境,这句话用在国产数据库厂商那里同样适用。我接触过不少国产数据库厂商的人,私下里交流就没有那么多作秀的成分在里面,谈得都比较真诚。有些人比较谦恭,觉得自己的产品还十分稚嫩,需要在市场上,在客户那里大量使用,经过 数年磨练才能成型。不过也有些人觉得自己的产品无论在设计理念、技术架构还是技术水准上都是很牛的,都是与新时代同步的,一出山就是巅峰。
我一直不太相信依靠设计就能设计出优秀的数据库产品来,大概十年前,我和一个互联网大厂的朋友在一个饭局上谈起可以研发一款数据库产品,无容量限制,永不宕机,无性能问题。那次饭局后,那个朋友就启动了数据库研发工作。十年过去了,我们当年在饭桌上的梦还离得很远。那时候可以算得上是年少轻狂,觉得不就是研发一款数据库吗,只要有钱,有人,有啥做不成的。这些年虽然没有亲自参与数据库的研发,看到身边的数据库厂商的朋友的艰辛,我益发觉得数据库产品不是那么好干的。
曾经听一个国产数据库的朋友说Oracle太臃肿了,那么多乱七八糟没有多少人用的功能,是屎山代码堆起来的系统。殊不知这些堆起来的代码才是Oracle数据库中最具价值的东西,是对用户需求的数十年不断响应的结果。没有这堆屎,就没有这个世界上最成功的的关系型数据库。数千个隐含参数、数百万个数据库补丁、数千个优化器补丁和开关、物化视图、系统级触发器、PL/SQL调试、AWR报告、函数索引、冷热分层、HTAP、全局应用服务、多模融合,种种功能都是为了让用户能够更方便地使用数据库才增加的功能。为了增加这些功能,必须在RDBMS核心上打入大大小小的补丁,堆砌这个屎山。这些东西是数据库研发人员和产品经理坐在家里想一百年都想不出来的,只有迁就海量用户的使用过程中才能做出来。
大部分国产数据库厂商的朋友都有这种感受,数据库产品,越做心里越没底,觉得要做的事情太多了。只有刚刚入行的人才会觉得自己无所不能,也不大看得起友商的产品。前阵子在讨论很多数据库厂商都花了大力气在做Oracle兼容的事情,就有数据库厂商的朋友说了:“好数据库不需要兼容Oracle”。意思是只要你的产品足够好,是可以教育用户的,可以让用户去适应数据库,而不一定非要让数据库去适应用户,那些拼命讨好用户的数据库是因为自己的水平不行。因此完全没必要去做和Oracle兼容这种吃力不讨好的事情,同时对国内数据库厂商纷纷做Oracle兼容功能表示不屑。
数据库优秀不优秀,自己可以说了算,很多数据库厂商眼里天底下只有两款优秀的 数据库,Oracle第一,他们的产品第二。甚至有些人认为Oracle只是过气的明星,只有他们的产品才算得上优秀。而事实上,数据库成功不成功,只有市场说了才算。在如此内卷的国产数据库市场上,只有成功者能活下来,而且成功者不一定就是技术好的。
市场上容不下那么多商用数据库,目前的两百八十多家国产数据库厂商,大多数的最后结局都是死亡,大部分数据库厂商最好的结局就是被大厂并购。这句话很残酷,不过很可能会成为事实。我想在市场上搏杀过的数据库厂商都会明白数据库产品是要在大量的用户场景下磨合出来的,因此哪怕公司不差钱,获得足够多的用户是数据库产品成功的关键。更何况数据库企业在巨大的研发投入下,资金压力是绝大多数国产数据库厂商所必须面临的。
迎合用户的需求的产品才能在如此激烈内卷的市场上获得更大的生存空间,你不去讨好客户,难道还指望这个买方市场里的客户会主动来迁就你?连我这个旁观者都清楚 的事情,难道处于产业核心的朋友们会不清楚?