正如某位超级大佬的一篇文章,不是技术让你淘汰而是落后的思想让你淘汰。 大部分人都在面对未知的明天,人类对未知的事情,天然有着一种害怕和想去探知的矛盾的想法。 可能随着年龄的增长,害怕的想法有时会占据大部分思考的时间。
可能淘汰某个产业的,未必是自己的对头,让个人电脑产业受损的未必是联想和戴尔的之间的事情,手机产业将某些个人电脑的需求化为乌有,或者已经在美国出现的自动个人飞行器,中国的环保(海南省,已经在不远的未来禁出售汽油车),会将整个交通领域的供应商,参与者都搞得鸡飞狗跳。 淘汰你的,未必是你眼里能看到的。
为什么传统数据库的份额,逐年下降,或许是类似MONGO DB ,PG,这些新数据库在抢夺份额,实际上我看未必,绞杀传统数据库,其实可能是微服务开发架构的兴起。
很长一段时间,开发的架构大多还是传统的整体式架构 Monolithic Architecture ,开发的方式就是盖大楼的方式,所有成就了类似 ORACLE ,DB2, SQL SERVER ,这样的数据库,承载更多的数据,将大量的数据集成在一个容器中,完成整体的程序访问,将所有的数据访问,在数据库的内部就进行了解决。而当下的开发,面对烦乱的需求,在变动超级的大楼级别的代码,为某些小变动,进行拆楼的行为,就别的不能被理解。
所以程序模块会变得更小,拆的更碎,以应变不时而来的变化,加快软件的更迭速度,减少工作量,加快工作效率。 而软件微服务,必然将数据库带入一个新世界。 传统笨重的数据库,自然就会被淘汰,试想,我将原来1个程序,拆成10个微服务,难道我还要讲所有单独的拆出来的数据,在放到一个数据库,那不显然是可笑了点。
所以数据库轻量化,高效灵活的部署,数据库的容量可能降低,但灵活度一定要高,并且可能还有有传统数据库思维没有的对象思维,所以现在越来多的数据库并不综合化,而是针对化,我不需要将每件事做好,我只需要针对我所在的数据类型,处理好,做到完美即可。
例如 JOSN 格式的数据,让你想到的第一个数据库,绝对不是ORACLE,一定是MONGO DB ,或者AWS 的 Document 系列数据库。 记录时序性的数据库也一定不是SQL SERVER ,大概率想到的是 INFLUXDB。
这就是一个术业有专攻的年代,每个产品做好自己应该做好的就好,而不是要兼容太多的东西,因为有新的东西会做哪些兼容的事情。根本原因,数据本身就有类型,一个产品如果能将任何的数据类型都存储好,并且还都处理好,这本身就是一个伪命题,因为不同数据之间可能有更多的复杂性,和不兼容性。所以数据库产品在走两个极端,类似 ORACLE ,SQL SERVER ,一致要将自己从 “驱逐舰” 变为 "航空母舰”. 还是用某些只是在处理自己擅长的数据类型。 可能都没有错,这世界上这样的事情也没有对错,市场会给出答案。
从另外一个场景看,传统的IT,其实5年前就和同事探讨过这个事情,云,是否能替代传统的运维体系,精简运维人员。昨天看到一篇文章,阿里云中标某省纪检系统,正式上云计划,中标额近1200万元。这让我想到,可能让传统数据库份额减少的,并不是 PG ,MONGODB , MYSQL,而是更新的云数据库,各家云厂商都在开发自己的云数据库,这也是最近各个招聘广告上,对C 语言程序员需求量增高的原因,都要开发自己的分布式数据库。
继续借用金拱门的广告, 更多选择,更多欢乐,更多思考,更多收获。