Hello,大家好,我是每天深情赚钱的程序员,姜老师~~~
在最近一次的直播中,有同学问道:“如何阻止开发同学使用 TiDB ?"
相信看了直播的小伙伴都有印象。
这其实是一个很好的问题!
从这个提问来看,大概率这位同学觉得 TiDB 性能较差,或许都远不及现在运行的单个 MySQL 实例。
自己业务访问量也不高,不到1000的 QPS (Query per Second),哪有什么态扩缩容的需求,为什么需要部署这么“复杂”的数据库架构呢?
然而,用姜老师偏爱的口头禅回答:以上全错。
1
做趋势的朋友
如果将时间回溯到2012年,淘宝去 IOE 的架构升级浪潮中,那时很多阿里 Oracle DBA 也会有类似同样的疑问。
为什么要用 MySQL ?Oracle 性能杠杠的。
引入 MySQL ,License 成本是省下不少,但是人力和硬件成本会上去,其实也不会省多少。
你看这是不是很像一个轮回,只不过这次 MySQL 从替换 Oracle 数据库变为了被替换方,而 TiDB 成为了新生代的替代者。
当年不接受变化的 DBA ,哪怕一些 Oracle ACED 们,最终选择离开了淘宝。
然而,他们错过了淘宝飞速发展的黄金10年,你说他们是庆幸还是拍大腿呢?
某数据库服务公司,创始人坚持认为 MySQL 无法取代 Oracle 在传统企业的份额,你说他是不是也是后悔自己当初的选择?
要是当初没这么的坚持,是不是现在公司都已上市,带领着创业的小伙伴们一起敲钟了呢?
所以, 选择做趋势的朋友。
回到前面同学在直播间的提问,如果 TiDB 真如当年 MySQL 那样能打的话,为什么要阻止开发同学去使用呢?
你不是应该尽快学习这门新的技能吗?
这样才能实现弯道超车或换道超车么?
2
趋势看增量数据
现在的问题应该是 TiDB 会是下一代数据库的选型么?会是引领下一代数据库发展的趋势么?
趋势不是做PPT,跟投资人画饼,写软文,而是数据。
是的, 趋势是看市场的增量数据 。
例如看新能源车,他的增量远超传统燃油车。
下图是2021年各车企的销量情况,可以看到虽然销量上依然传统车企更高,但新能源厂商,如特斯拉、比亚迪,他们的增量更为巨大。
BTW,宝马2021年的销售增量,主要受惠于新能源车辆销售的大幅增加。
到2022年,特斯拉的销量目标是200万。下图为特斯拉历年的销量:
换句话说,预计到今年底,特斯拉的体量就和传统 BBA 们差不多了。
综上所述,新能源车的发展是趋势。
接着,让我们来好好分析 TiDB 的发展趋势。
对于技术产品,可以用百度指数来进行衡量这款数据库的发展历程。
当然也可以用 google Trend,从结果上看并不会太大的趋势差异。
上图显示的是从2015年到目前为止 TiDB 的百度指数。
可以发现,从2015年到2018年,TiDB 的增长趋势很是明显。
然而,2018年到2020年却基本没有太大的变化。
借助最近国产化的要求,TiDB稍有增加,但也远不如第一阶段的上升势头。
另外,TiDB 数据库背后的 PingCAP 公司在产品运营上相当花心思。在这样的投入下,目前这样的成绩或许并不能让人满意。
接着,我们来看另一款网红数据库 ClickHouse:
从上图的对比可以看到,ClickHouse 在2020年才开始出现在百度指数中,但2年的时间,其热度已经超过了运营7年的 TiDB。
更为关键的是,ClickHouse 并没有背后的商业公司进行产品运营,纯属社区自我驱动,取得这样的成绩实属不易。
那么 MySQL 数据库呢?
可以看到 MySQL 的指数远超ClickHouse、TiDB,几乎是他们的8~10倍。
2018年到2020年期间,MySQL 指数达到最大顶峰,最近2年开始略有下降,但对比2018年前的并没有太大的下降。
值得注意的是,MySQL 在国内分支版本越来越多,这样对于统计趋势指数也会有所影响。
此外,传统关系型数据库如 Oracle、PostgreSQL、SQL Server 这几年也都有类似的下降。
但至少到目前为止,下跌的幅度都不是特别大,在5%左右。
当然,后续需要持续关注这块的变化。
从百度指数来看,说 TiDB 取代 MySQL,成为下一代数据库的标杆数据库,过于牵强,甚至 TiDB 数据库目前在国内的发展或已成为瓶颈。
3
趋势决定从业人员
除了通过百度指数、Google Trend 这类网站观察技术的趋势发展,另一个维度是从业人员的数量。
要看某个技术领域从业人员的增量,可以通过当前的招聘信息来一窥究竟。
上图显示的是 BOSS 直聘上薪资高于2万的 MySQL DBA 职位,可以看到即便最为基础的 DBA 岗位也有大量的职位。
如阿里这样的公司,甚至最高能给出6万的薪资,所以说 MySQL 数据库这个技能的岗位需求非常巨大。
简单来说,好找工作,薪资又高。
然而,当查询有关 TiDB 的岗位时,你会发现大部分的需求来自于数据库内核开发,而且大量是 JD 中带上了对于 TiDB 的要求,而不是专职的 TiDB 岗位。如下图所示:
所以,至少到目前为止,从从业人员看,很难说 TiDB 是一个很明显的趋势。
4
开放的心态
最后的一个问题,业务开发要选择一个新的数据库,作为 DBA 为什么要阻止开发同学的选型?
哪怕现在新能源车已然是事实标准,BBA等传统车企都已发布停止燃油车的时间表,但至少目前还有不少人购车时依然会选择燃油车。
所以,站在 DBA 角度,你说 TiDB 的各种不好,无可厚非。但开发同学同样可以说出各种好的地方,互相是无法被说服的。
人不能被说服,只能被天启。
如果 TiDB 真的是未来数据库的发展趋势,那么他会像 SQLite、MySQL、redis、ElasticSearch、ClickHouse 一样,迅速被广大程序员所接受,成为行业的事实标准。
如果他不行,他会如 PostgreSQL、Cassandra 一样,成为一个小众数据库。仅在特定场景、特定偏好人群中使用。
趋势是用户的最终选择,并不是仅凭一人之力可以阻止,也不是仅凭一人之力可以流行。
作为 DBA,做好风险预警告知与兜底预案,这才是你的首要任务。
最后,如果你实在不想花力气分析各种数据,那就看看互联网大厂们的选择。
毕竟他们拥有业界真正最为顶尖的程序员,最为复杂的业务系统,以及对于数据库最为苛刻的性能要求。
以上。