2. 也有是出于对 MySQL 的「不信任」。这几年 MySQL 有了很大进步,开源社区对 MySQL 的改进也相当好,但是,缺陷还是很明显的,比如,对于联机维护的支持能力至今还是不够的,尤其是对于需要支撑密集并发事务的网络应用来说,达不到工业强度。「可靠性」有的时候比「好用」或是「便宜」什么的更为重要。或许有人不信,拿 Facebook 来反驳,人家不是搞定了么?没错,Facebook 搞定了,但是记住,Facebook 的产品业务类型跟贵公司业务是一样的吗? 如果 DB 本身无能为力,你能从架构角度保证不影响业务呢? 另外,去看看 Google 为什么要开发 F1。
不过,不管什么原因,「读点源代码会死吗?」这种话都类似于体委主任要刘翔顺便去跑个百米比赛一样,不都是田径短跑么(原理都没变,不都是数据库么)?跑快点就行了嘛 ... 读懂 MySQL 代码的人一堆一堆的,能给 MySQL 提交 Patch 的开发者估计在各大公司也不在少数,但是如果几十台上百台服务器崩溃掉,整个技术团队都看着你的时候,你能气定神闲的分析代码然后写个管用的补丁出来么? 这个时候,可没有人会提 「 MySQL 给公司解决了多少成本」,管理者会暂时忘了那事儿,他这个时候关心的是「可用性」了。