这两天在上海开会,所以不长篇大论了,昨晚饭后在黄浦江边走了走,感受到了上海为什么被称为国际大都市,以前上海给我的印象是温婉和小家子气,只是因为我只是我没有看到上海的另一面吧。
其实我们来看待数据库的问题,也是如此,自己的眼界总是有限,思维可能被固化。因此在不和别人多交流的情况下,关起门来做事情,往往都是很自嗨,但是做出来的东西不一定能让用户满意。就像昨天谈的问题,我发文后有几个国产数据库的朋友发来消息,让我试试他们的产品是不是存在这个问题。我手头是有这些厂商的测试环境的,不过我觉得没必要去测试了。能发消息来的,大概率他们的数据库是没这个问题的。从另外一个方面也说明这个问题在技术上实现起来并不困难,只是原来可能没有考虑到用户会有这种需求。对于 PG 数据库,应该已经获得到了用户的需求,只不过相关产品经理对需求的理解并不到位,因此选择了 autosavepoint 这种方式来解决这个问题。就像前天我和那个数据库厂商的架构师交流之初,他觉得 sql 都出错了,难道不是需要研发去处理的吗?这不是数据库必须做的事情吧。了解了完整的需求后,他觉得这个功能确实应该给用户提供上。此类类似的用户需求还有很多,数据库厂商和用户之间的沟通不太顺畅的情况下,数据库厂商想要获得到这样的需求并不容易。这时候学习 Oracle 成为一条捷径,三四十年大规模应用获得的经验是十分值得我们去学习的。这是和一个国产数据库研发人员交流的心得。很多数据库从业者认为 Oracle 已经过时,他们才代表数据库发展的未来。实际上大型通用数据库面多诸多场景,不是研发人员能设计出来的,而是在长期应用实践中一点点打磨出来的。我希望上面那种认为老子代表数据库未来发展方向,自己是 Oracle 的掘墓人的观点,只是说说而已,目前阶段当好小学生才是我们正确的选择。