最近很忙,非常忙但还是想写下来这些年的一些工作感触,对于国产数据库,对于之前用了20年的传统数据库的一些不舍和无奈,当然这里仅仅代表我个人的经历,不代表其他。因为1 2 3 4 5 群,天天都有在问 MYSQL ,PG , ORACLE, SQL SERVER 问题的同学。
到了现在这个单位实际上还没有3年,从这个单位还在传统数据库中转悠的影像还历历在目,但转眼间大部分传统数据库已经消失了,而本周来的一些新型数据库老师同学的到访,估计我另一半的传统数据库也快保不住了。
为什么保不住的原因和简单,因为新的数据库的确比老的数据库在诸多方面有老的数据库无法进行匹敌的部分
1 新硬件与重新定义的数据存储的匹配,与新的数据存储格式的变化,让传统的模式看上去更笨重和迟钝
2 基于传统数据库的问题点,已经被研究透了,好的留下,缺点修复基于硬件和匹配硬件的代码,数据库从软体变成,基于软硬结合的模式,让纯软件的数据库更单薄。或者数据库本身的设计初衷来自于业务,从业务发展起来的数据库,解决实际业务的问题的数据库架构也是一种新的数据库架构形成的模式。
3 读写分离从担心延迟,到节点之间延迟越来越低,shared storage的形式让延迟不高于20ms,更多的软件架构设计可以不再考虑读写分离的设计瓶颈,更多的资源更多给了业务逻辑。没有了分库分表,也没有了数据在融合的需求。
4 更多的插件融入数据库本身,如代理的融入,让数据库切换,更新配置,更换硬件都对客户逐渐透明,用户在使用中不在关心有 down机的时间,或者数据库引擎已经不在需要集中式,而是分散到每个节点来进行计算。
5 数据的备份和恢复,尤其恢复不再整体事例恢复,而是可以针对一个表来进行恢复,并且恢复的时候,可以将这个表以SQL文件的方式呈现可查可下可应用,如同变魔术。
这就是我这不到三年,传统数据库在面临的挑战,之前使用的各种传统数据库的方案,被这些新的东西一次次的打破优越性,留下的只有一些和技术无关的担忧和不妥协。
后来我想通了,与其守着老东西,早晚会和老东西一样被时代抛弃,我不如就喜新厌旧,拥抱新的事务,和新东西一起寻找未来,推动这些新东西也给自己谋条新路。至于什么是国产数据库,不是国产垃圾,在群里也有激烈的讨论,甚至有一些粗鲁的互相的回敬,这里我重申的对国产数据库的看法,什么是国产数据库,不是国产垃圾。
1 赢得民用市场的对于数据库的使用,不依赖信创或国家政策支持的数据库产品,有没有进入信创名单不重要,重要的是国产数据库产品是否能有能力通过自己的产品力赢得数据库市场,可以自己进行自给自足的通过售卖产品和服务来供养自己。
2 有自己的社区,并且社区有自己的数据库相关知识的体系并进行开发,供大家来学习讨论,可能有些国产“数据库”的PEOPLE提出,只要写出技术,就有人可以抄袭,但ORACLE SQL SERVER MYSQL PG 的原理甚至有些数据库的源代码都在网上可以自由获取,最终的结果是被抄袭和替代了吗?没有,如果以此为借口,那我们是否可以认为,你根本就没有自己的技术,不是怕抄袭,是怕公布自己的技术后无法掩饰自己的技术的落后和抄袭别人的事实。
3 至于壳数据库的问题,仁者见仁,智者见智,我借用某国产数据库大佬在数据库嘉年华的对于壳数据库一些言辞进行总结,----“如果你的产品是借用开源产品进行开发后的数据库产品,那么一个在欧美开源数据库基础上再进行开发的产品,有什么能力去让人信服你的产品有先进性并占领出信创市场以外的数据库市场” !
有些国内的数据库产品,真的不要在借用某些言辞继续来蛊惑人心,国产需要支持,但首先他应该是一个产品,而不是谎言,我们支持国产数据库,但我们抵制的是在浪费人力物力后而产出的国产垃圾和欺骗和Always policy-driven database products 。