为什么要说这个,可能有些朋友觉得和这几天话题有关。其实没有什么太大关系,我没有被抄袭所以也没法去说。(也许我写的还不够被抄袭的资格)。我真正想表达的是使用和运维开源数据库(含其他软件)的人,应该得到重视。这个重视第一就是体现在价值上。
似乎每个技术人,甚至作为管理者都认同这句话:开源不等于免费。但是似乎就没有然后了,不免费,但是也没花钱。这就很矛盾了。
几年前写过一篇《从推荐使用MySQL TiDB等企业版说起》https://mp.weixin.qq.com/s?__biz=Mzk0NDIxNDg5Mg==&mid=2247483797&idx=1&sn=ad98794c958bcf4d704daa5f974eeefb&chksm=c3294796f45ece8018c6f513cb3a473de9b94f80b535a5ec8b399459443d84c3dbf79b71748b&token=32233949&lang=zh_CN#rd
《开源软件支持之企业版》
单一一个数据库就是一个岗位,一个人会多个数据库现在不是稀奇的事情,但是除了极个别大厂以外。似乎大家的薪资和掌握的技术栈多少没有必然联系,甚至都没有联系。
比如有人以前运维Oracle的,后来增加了MySQL,又再增加了Redis、MongoDB、Elasticsearch等等甚至又多了PostgreSQL或者再有TiDB、OceanBase等等。其实除了Redis这种单线程的维护量少一点,任何一个数据库技术栈尤其是关系型数据库(含多模数据库)是很不容易的。
而企业不会因为你会10种技术就把薪资翻10倍,甚至连5倍也没有。这是为什么?是因为公开说开源虽然不免费但是私下还是觉得开源就是免费也没打算花钱。因为如果每个开源数据库的都是付费的(尊重知识产权以及付给尊重从事该数据库的人相应的收入),那么就一定用不起这么多开源软件。因为成本是很高的。之所以现在造成这种局面是因为企业觉得开源就是免费,对应的人也是免费。其实我之前也写过一篇文章《开不开源无所谓,免费最重要》。这就是为什么我们学习和使用了一堆技术,但是薪资没变化的原因。
如果尊重掌握这些技术的人,给出对应的薪资。企业是不是利润降低了?未必!因为,考虑到开源是值钱的,那么付出昂贵的人力成本就会仔细考虑,把少量的技术栈用精。反而不会产生在一个企业中几十种技术栈。因为恰恰是因为大量技术栈造成了企业的成本高。这主要是肤浅的仅仅觉得免费(白嫖)软件就是不要许可了,但是没有看到这些软件所在的硬件不能免费(但是就是故意不计入其中)。还有对于这些不同的开源软件的开发和运维的人力成本不能免费。(当然如果继续不尊重人的价值,继续又无视了这些人力成本)
下面这个无意冒犯(我说的是有些国产数据库,不是所有。个别国产还是做的可以的。)前几天我听几位领导说,他们调研下来国产贵、很贵,而且使用上,那啥(其实就是不太稳定,这个你们自己体会)。原来他们也去了解过一些。确实有些许可不比Oracle便宜,Oracle还能不给钱。但是有些国产必须给(开源的不给钱,但是有些套壳的就要给钱,这是什么道理?再次申明还是有好的不套壳自己做的。这种赚钱应该的)。那么我就画了这个图。

这个我是说在同等环境下(单机或者单个集群下)。X代表许可(尽管Oracle可以不买,但是我这里还是算有成本支出的,一般企业50-200万也能搞定)。Y代表硬件成本,Z代表人力成本。D代表系统的稳定性成本。D越高说明越不稳定,D越低越稳定。
这里看上去Oracle等商用数据库总体拥有成本最低,性价比最高。而开源数据库并不是不好,而是完善程度比Oracle等商业数据库差一点。所以需要懂开源数据库的人去做。这里就要说到对知识和人的尊重了。
以前有个故事。一个公司原来用Oracle的。后来换成一堆MySQL。总是出问题。就从外面找来了一个高水平的技术总监。总监来了解决了这些问题。所以你看不是数据库的问题吧。
不过后来发现成本上升了,因为总监太贵了。(这个公司开始是尊重人和知识的)。后来成本受不了就不要总监了,成本下来了。问题继续出。故事后半段和国内某行业龙头企业一模一样。新任IT总监不懂IT只看成本,上任就直接干掉原来Oracle原厂招过来的两个DBA,从市面招便宜的DBA用数量来堆,然后业务系统经常中断。业务部门向CEO投诉后,才略微改变自己的思维和后续策略。
这个故事就说明了,使用开源,用的好其实不便宜。数据库的钱省不下来的。只是有些企业不重视知识和人,所以未能给予人相应的薪资。这也是为什么好的人都在大厂,因为尊重以及给了对应的薪资。而一般企业开出的价格,确实有点不尊重人。
不管用商用还是开源都是要尊重人和尊重知识。外交部原来一句话是什么来着?不能凌驾于科学研究之上?





