数据库 频道

国产数据库,做时间的朋友吧

做过企业软件的朋友都应该清楚,当你的第一套系统在用户那边上线的时候可能会遇到很多问题,甚至最初的绝大多数设计都是错的。在用户侧做了一段时间的定制开发,这个软件才变得越来越好用。如果我们的软件系统在多个用户侧进行应用,那么这个软件能够覆盖的用户场景会越来越多。下一回到新的用户去上线的时候可能就没那么费劲了。随着这样的工作不断重复,交付成本也会越来越低。

然后我们可能会在软件中设计一些参数或者模板,让这个软件越来越多的适应各种用户的需求。如果你的公司的产品能力足够强,那么你可能会把一个定制化软件变成一个商用化的套装软件。这个过程很艰辛,也很耗时间,不过对于成功者来说,这一切都是很值得的。

有朋友在我的公众号留言说,搞数据库要做时间的朋友,说得相当到位。作为一个数据库厂商,就要有长时间坐冷板凳的觉悟。我说这话可能一些厂商的老板会觉得我太矫情:“活都活不下去,如何谈做时间的朋友”。其实进入这个长周期的项目之前,很多人并不懂这是一个需要长时间坐冷板凳的行业,绝无可能快速变现的,恐怕现在很多业内人士都已经后悔进入这个行业了吧。

目前活下来的国产数据库厂商历史最为悠久的是1999年的电科金仓和2000年的武汉达梦。而实际上2010年之前,国产数据库的应用少到可以忽略不计,真正在用户场景中开始规模性应用都是最近这10多年的事情了,而我们的国外友商在40年前的用户体量已经是我们现在用户数最多的数据库的不知道多少倍了。懂行的人都应该清楚,数据库产品必须在大量的用户场景中不断打磨和优化才能越做越好,用户基数越大,用户场景越复杂,数据库产品的进步就越大。这就是绝对的物理差距,需要用时间来弥补的差距,是无法弯道超车的。

国产数据库利用开源技术,跨越了很长一段时间,缩短了与国外友商的时间距离,不过这是一次性的迫近,是无法重复的,剩下的距离需要用时间、资本和热爱去弥补。很多朋友看不起用开源技术研发的国产数据库,觉得它们只是套壳圈钱。

外行看啥都容易,内行才知道做啥都不易,连抄袭都是技术活。我和一个基于开源技术开发商用数据库的朋友交流,他最初也觉得某开源数据库已经很强很稳定了,他们只需要做一些和Oracle、MySQL兼容的特性就可以满足他们的用户的绝大多数需求了。做了几年他才搞明白,某开源数据库很稳定不等于他们的数据库产品很稳定,在数据库核心上的每一个修改,都会侵入原有的系统,都会影响某些场景下的稳定性。花了数年时间,他们才摸清了开源代码的情况,他们的商用版产品也变得稳定起来。

正好前阵子几个朋友在一起闲谈,其中朋友甲就是那个数据库产品的用户,而朋友乙正在做国产数据库选型,他比较焦虑,因为领导已经得到上级部门的通知,必须在2025年完成所有的国产数据库替代。谈起国产数据库选型,朋友乙就问朋友甲,你们用的国产数据库怎么样?当初为啥选了这个,没选另外一个。朋友甲回答说,当初他们选型的时候也差点挑花眼,开始的时候做了很多性能PK,不过最终选型的时候,他选了十五天耐力测试中没有出现过大问题的那个数据库。他现在还对当时的选择十分满意,因为他们的系统规模并没有性能测试时那么大,自己所选的数据库在功能和性能上基本上满足要求。这三年用下来,几十套系统没给他带来过大麻烦,算是相当稳定的。

其实对于大多数用户来说,一个功能够用,足够稳定的数据库是他们最基本的要求。如果连这一点也不能满足,那么再强大的功能,再先进的技术也没太大意义。而想要做到稳定,够用这两点,已经十分不易了。国外友商在数据库技术上已经发展了四十多年了,依托于国外友商数据库产品的我国的信息化建设也开展了将近20年了。要对标国外友商10多年前的数据库产品,做到功能够用,对于绝大多数国产数据库厂商来说可能已经力不从心了,更不要说“稳定运行”了。

在弥补时间距离的时候,需要的是耐心和毅力,需要坚持与执着。当有国产数据库厂商给我描绘十年赶超Oracle的美景的时候,我都会打开一个10053 trace文件,指着数千个优化器的隐含参数和FIX给他看,告诉他,每个隐含参数和FIX背后可能就代表着成百上千个用户的Service Request,在这样的差距面前,你还敢说10年赶超Oracle吗?

目前阶段,无需谈赶超,也注定无法赶超,做好自己,做时间的朋友就好。对你的客户负责,对你自己负责,做好自己的产品,让你的产品在用户侧变得越来越好用就行了。

记得二十多年前,微软搞SQL SERVER的那帮人也曾经豪言壮语,十年后,SQL SERVER会超越Oracle和DB2,成为全世界最受欢迎的数据库产品。这句话估计已经没人记得了,但是这并不妨碍SQL SERVER成为这个世界上排名前几的成功数据库产品,而微软在数据库市场上的份额也超越了Oracle。

0
相关文章