最近数据库界最热的事情就是某位MYSQL的数据库优化引擎的开发者Steinar,维京海盗的后裔, 爆料MYSQL 研发的种种吐槽。 仿佛ORACLE 又被推到风口浪尖,上次还是ORACLE 创始人 拉瑞对中国ORACLE 研发中心的手起刀落和云计划失败后的“样子”。
实际上数据库本身作为一种产品,已经超越了普通产品的范畴,选择一个数据库对于企业来说,包含了很多的笃定, 对这个词用的好, 笃定。
部分企业的数据库选择都充满了,猜和个人主义的定义,别人用啥我用啥,大厂用啥 我用啥,这属于盲目跟风主义, 别人用啥,我偏不用啥,这属于 反“数据库”社会主义。究其原因,对数据库内部的原理,特点,擅长,短处,都不清楚,个人爱好,大于理性选择。
举例,东边的大婶,儿子娶妻3年无子嗣,就到西面的观音庙求子,果然几个月后就如愿,然后逢人就会提起,观音娘娘的求子很灵验。一传十十传百,此地的观音庙香火兴盛,后面治病,求学的,超度的,都往此地来, 但10求9不遂愿。到底是观音娘娘的问题,还是自己还没搞清,应该去那个庙,就把香烧起来了。
数据库的选择也是一样,一个数据库产品在被 “大厂” 选择使用后,随之被推广和发展,一个数据库的 “庙宇” 就建立,信奉数据库的使用者,实际上并不是对这个数据库的信奉, 而是对某大厂的膜拜,和爱屋及乌。
具体好用不好用,出不出问题,用话术就是了,你不是大厂,你不会用某数据库,人家都好好的用着,就你不行,你上层软件架构不行导致的问题。此时反驳的人,只能将话咽回去,大厂的权威一般是难以撼动的,又有谁关心你现在使用的数据库到底是不是好用的,适不适合你。实际上大厂的数据库种类哪有想象的那么寒酸,有的只是你不知道罢了。
我本身也曾经是某些数据库的狂热分子,随着使用某些数据库的深入,体会到每个数据库的在使用中的问题点,比如数据单表承载力的问题,更新行频繁后的“dead tuple” 回收的问题, 数据分片后的维护问题,备份问题,数据一致性的问题。每种数据库并没有你想象的那么“好”, 也没有某些人口中的那么“差”。
对数据库的信仰,还是理性一点,有时间去打嘴仗,不如多摸几种数据库,体会每种数据库背后设计者 “高光伟大” 或是有心无力,的时候。
有些数据库的研发可能还不如你懂得数据库的需求,(别问我怎么知道的),你要做的就是在某些口吐莲花的芸芸后,你还能清晰的知道,自己大概用那个数据库更好,自己出出解决方案,并为之承担责任和出现问题后的兜底工作。
一个数据库本身流行不流行,能不能流行,都是 “玄学”, 可能某个事件,某个时间, 在此之前不流行的产品,就流行了, 天时地利人和,缺一不可,更缺一不可的是,你的产品的拿得出手,天时地利人和都凑齐了,产品不行,去了庙宇被膜拜后,不灵验, 那就浪费了机会, 此后想要翻身就难了。
最终对数据库的信仰是建立在数据库本身的可靠性,广泛性,以及使用者的反馈,产品的迭代服务等等,相信随着数据库使用的理性,和深入,“网红”数据库会越来越少,靠“信仰” 生存的数据库也会在深度使用后,越来越难。
此时如果问我,你有信仰的数据库吗? 回答很简单,我信仰根据应用类型去选择数据库的能力。