楔子
上个月在离职之前,请了几天年假去拜访各个地方的老朋友,路过济南的时候,惊闻鲁菜泰斗颜景祥大师不幸离世。于是在当天来到济南殡仪馆,在人群中与大家送颜老最后一程。
来参加葬礼的基本都是从事餐饮行业的,我一个外行人在里面就显得格格不入,也搭不上话,好在旁边的老师傅看出我的窘境,一路上跟我闲聊着。葬礼结束之后,我问他:“鲁菜现在势微,各类创新和网红菜层出不穷,作为老师傅您怎么看?”
他想了想,语重心长地说:“其实任何菜系,都得与时俱进,才能走下去。二三十年前大家都喜欢重口的菜,最近十来年都开始喜欢口味清淡点的了。你不创新就不能怪人家抛弃你。鲁菜现在也在推陈出新,想要继续往前走。”
我于是又问他:“那创新和传统是什么关系?”
他又思考了几秒,说:”我们教的时候,都告诉他们,一道菜有哪些地方不能偷手,哪些地方是关键步骤。哪些方法是基础。为什么呢?你只有对这些东西都理解了,都熟练了,都领悟了,你才可能有创新的可能。哪一步为什么这么做,这么做了对这道菜有什么好处,这些东西都是必须知道的。反过来,你想创新,也得清楚,哪里可以创新,为什么能创新,和传统相比有什么差异和优劣。很多的时候吧,一个菜创新完大家不接受,不是创新的不够,而是传统的东西你都还没领悟。“
这句话让我犹如醍醐灌顶,于是我又追问下去:”师傅,您的意思是很多创新不被大家认可 ,其实是传承没做好,不是创新不够?“
他听完点点头:”对啦,你要创新,就得先明白为什么会有这些传承。做菜那是一门吃饭的手艺,做的不好,人家吃一次就没第二次。了解了背后这些,再多了解了解客人的想法,你才有可能去创新。为了创新搞创新,别人不认可,也没有任何生命力。“
传承篇
在做国产数据库的两年里,有关传承,我也经历过很多很多事情。也不知道从什么时候开始,冒出来一个”传统数据库“数据库的概念,怎么个传统法,从没有一个统一标准,有人说oracle是传统数据库,有人说mysql和pg也是传统数据库,甚至还有人说greenplum也是传统数据库。有时候我只能模糊地认为,只有那些诞生在移动互联网和公有云时代之前的数据库,似乎都可以叫做”传统数据库“。
但是我们如果反过来看现在的”非传统数据库“,仍然保留了相当比例的”传统数据库“的特性和使用习惯。例如稳定性、事务隔离级别、权限与角色、语法语义、参数名称、配置使用等等。说明大家都明白,这些东西是数据库软件共通的东西,也是最重要的基石。一个完善的数据库系统,这些都是必备的东西。只有做好了这些,其他东西才有得谈,例如性能好坏、扩展性、兼容性等等。如果这些都做不好,其他的东西自然无从谈起。
我将这些称之为成熟数据库的最大公约数,只有这个最大公约数做好了,后续的开发和完善以及创新,才有基础。数据库是一个基础软件,任何一个功能一个特性一个想法,必须做到完全脚踏实地,实打实地去做,而不是飘在空气里,让人去猜让人去想。
就拿稳定性作为例子,这是一个基础软件最重要的东西,以前在运维oracle的时候,一套实例跑几百天都是家常便饭,没有足够的理由,不会去人工重启。偶尔有一些小毛病,但是也都能克服,性能也一直稳定在一个大家可以接受的水平。但是如果一个数据库稳定性做的不好,那就意味着dba和业务人员,要频繁去处理业务和系统的各类问题,甚至动辄重启,这带来的不确定性极其可怕。一栋房子装修再精美,户型再合理,采暖采光再充足,如果随时可能倒塌,是不会有人敢住在里面的。
所以我建议国产数据库在开发时,一定要把这个数据库的最大公约数搞清楚,理解透彻,为什么这些东西会在过去几十年雷打不动传承下来,为什么它们在不同行业、不同业务、不同场景下都是不可或缺的东西。这就好比修习武功时候的内功心法,扎扎实实地去做,不要浅尝辄止,更不要保佑侥幸心理觉得可以投机取巧。基础设施,往往没有捷径,都是需要我们以最笨拙的方式日拱一卒,积跬步以至千里。
反过来,如果这些东西作为数据库开发团队,不能足够重视,以后会后患无穷。每开发一个新功能新特性,都会被严重制约甚至寸步难行。没有夯实的路,不可能有条件在上面奔跑。新技术新趋势,我们能看到,那些”传统数据库“厂商也能看到,他们之所以没有那样做,除了既有的体系结构的包袱,也有着对很多不确定东西的反复推敲和实验。船大不好调头,但不意味着这些东西被忽略,最近一两年,我们也在看到这些老牌数据库在慢慢转变。
创新篇
不知道有多少朋友和我一样,在过去几年里见过无数的网红菜、网红饮料、网红打卡地,我们不知道这些事物从何而来,只是某一天突然闯入,又不知道他们最终去了哪里,又急速消失在视野里。这些网红事物最大的特点是,生命周期都极其短暂。大多数号称颠覆、创新、与众不同。
也许正如那位鲁菜老师傅说的那样,为了创新而创新,没有生命力。
在过去几年的时间里,我恰恰就见过很多国产数据库类似的创新。乍一看新概念、新思路、新产品、新组合,提出的口号和目标都如此炸裂,让我一个dba出身的人都有点怀疑自己过往经历的真实性。而真到了交卷子的时候,那些所谓的创新又成为了桎梏,严重制约着我们使用数据库。如此匪夷所思的组合,在“新数据库”中普遍存在。
我能理解,差异化竞争是一个新生产品获得成功的一个重要办法,这不仅仅体现在数据库,在国产汽车和国产手机领域也有无数弯道超车的例子。但是这些成功案例的背后,是一将功成万骨枯的残酷现实,那些没有成功的厂商、品牌、产品,终归成了垫脚石,在一个又一个行业中被人遗忘。可是成功的品牌,恰恰又都不约而同地把基础的东西做好了。比亚迪自行研发了电池,华为突破安卓和芯片双封锁,这些东西都是对过往的传承和突破,也是在传承之后的创新。这些东西没有捷径,就是用时间和人力来换取空间和市场。
反过来看,一味标榜创新,堆叠创新把自己带入沟里又出不来的公司比比皆是。
我相信会有朋友反驳我,华为比亚迪自己就是巨头,一个初创数据库公司可能规模本身就不大,哪有那么多资源去自研电池和芯片?
恰恰是在有限的资源下,更要对创新谨慎,哪些创新是真正有意义的,哪些是纯粹的噱头。哪些资源应该立足于传承的根本,哪些人力物力去做有价值的创新,是需要仔细思考和论证的。今天拍拍脑子,明天就开干,既没有对过去保持足够敬畏,也没有对未来建立足够规划,无异于抱薪而救火。
尾声
当下(23年10月),墨天轮的国产数据已经接近300个,眼看着从当年的100多个翻倍。这个市场终究容不下这么多公司这么多产品,经过洗牌之后,未来数年我们将看到一个又一个的名字沉入烟海,悄无声息地退出历史,只留下一座座墓碑和僵尸项目。如果读到此处的你,也是国产数据库从业者,我希望这篇文章能够对你有一点点帮助,一点点启发。传承和创新,有时候不是一件水火不容的事,反倒是你中有我,我中有你。