我:"老大,最近ClickHouse很火啊,咱不试试吗??"
中台架构师:"哦? CK吗? 那是个啥玩意呀??"
我:"是CH!!一款OLAP数据库!!"
中台架构师:"是数据库啊!!DB-Engines排名多少?? "
我:"。。。。。。"
上述又是我的一段亲身经历。
最近有朋友问我:"你是基于什么根据,如何判断出ClickHouse要火的呢?"
我回答道:"其实很简单啊,你看看周边的人,都是在怎么学ClickHouse,不就明白了吗?"
接着,我拿出手机,给他看了下面这张照片。
"你看,人家妹子在地铁上,还在坚持学习ClickHouse!!! 你再不学,就要落伍了!!!"
我的朋友在看过这张照片之后,意味深长的点了点头。
在搞定了我的朋友之后,现在言归正传,聊一聊排行榜的问题。
在我们的生活中,排行榜可谓是无处不在,因为人的天性就喜欢比较,而排行榜则是一个最为简单易用的比较工具。
有句笑谈不是这么说的嘛: "什么是幸福感? 幸福感就是经过比较以后,发现你比别人过的好"
玩笑归玩笑,排行比较确实是有用处的,比如:
使用比较之前
中台架构师:"我来介绍一下,这位新招的架构师非常厉害,他对中台的理解已经深入骨髓"
我:"茫然,一脸不屑"
使用比较之后
中台架构师:"我来介绍一下,这位新招的架构师非常厉害,阿里P15,全球排名前10,他对中台的理解已经深入骨髓"
我:"震惊,一脸崇拜"
你看,通过横向比较,无需使用多余的介绍,就能有效的传递信息。同时,还容易使他人产生共鸣,做出预期的判断。
所以在营销领域,产品排名是一个非常重要的指标,毫不夸张的说它能关乎到一款产品的生死。越是靠前的排名,用户使用你的几率就越大;而使用的用户越多,在产品靠谱的情况下,又能反哺排名从而形成一个良性循环。
而对于发布排行的平台而言,平台的公信力越高,排名的背书能力也就随之越大,对于同一类型的产品,用户更倾向选择排名靠前的。
所以现在我们身边,能看到各种榜单,电商平台的最畅销XXX TOP10、歌曲榜单TOP 10、电视剧TOP 10,数不胜数。
这些榜单潜移默化的影响着我们的选择行为。
铺垫了那么多,现在该聊到DB-Engines排名了吧?
什么是DB-Engines排名呢?DB-Engines排名就是一个数据库领域的流行度榜单,它对全球范围内的300多款数据库进行了排名,榜单排名每月更新一次。如果某个数据库的排名越靠前,则表示它越流行。
所以在很多技术选型的场合,都会引用DB-Engines的排名数据,用于论证技术的成熟度和流行度。
既然如此,那我们看看ClickHouse在DB-Engines的榜单排名:
截止到2020年1月
按所有类型统计,在350款数据库中,排名78,较上一个月上升108位
按关系模型统计,在139款关系型数据库中,排名41,较上一个月上升52位
再看看按所有类型统计的TOP 10,看完以后心里拔凉拔凉的,试想如果你是一位决策者,在看到这样的榜单对比后,还会选择ClickHouse吗? 不论推荐者说的如何天花乱坠,你估计早已索然无味了吧!!
这也是为何在开篇,我会被中台架构师怼的无言以对。
然而,作为一个拥有ClickHouse信仰贴纸的斗士,我当然不会就此轻易的放弃。
既然是排行榜单,总得有个排名依据吧?咱得讲道理呀?所以,接下来就看看DB-Engines的排名规则。
虽然DB-Engines在它的官网上并没有公布排名打分算法,但还是列举了算法使用到的一些参数维度,以及参数的数据来源,它们分别是:
- 在网站被提及的次数
分别在Google、Bing和Yandex进行搜索,以搜索引擎中的结果数作为衡量依据。例如查询"ClickHouse database",记录找到的结果数量。 - 在互联网的普遍兴趣
以Google Trends趋势中的搜索频率作为衡量依据。 - 在技术社区被讨论的频率
分别在Stack Overflow 和 DBA Stack Exchange网站进行统计,以技术社区中 Q&A 提问和回答数量作为衡量依据。 - 在招聘岗位信息被提及的次数
分别在 Indeed 和 Simply Hired网站进行统计,作为衡量依据。 - 在职场社交作为用户资料被提及的次数
分别在LinkedIn 和 Upwork统计作为用户资料被提及的数量,作为衡量依据。 - 在社交网络被提及的次数
在Twitter统计相关推文的数量,作为衡量依据。
在看过这些规则依据和它们的数据来源之后,不知各位看官有何感觉?
由于不知道参数的权重,我且当它们的权重差不多了,我有这么几点感受:
- 对中国市场极不友好
这些维度参数的数据来源,基本排除了来自中国市场的数据,"你说啥? Twitter? 没听过呢!!!" - 缺少开源、数据分析等细分领域排名
同场竞技,定位越细分,排名越吃亏。如果数据库是个多面手,很多领域都能使用,那么自然拥有更高的用户基数。一旦用户基数高了,相关的指标数据自然也就高了。
我常用买保险来举例这种现象,保险产品有很多形式划分:
最常见一种叫复合保险,就是你只用买这一种保险,它已经包含了常见的重疾、住院医疗甚至寿险,十分方便;
与复合险相对的是单一险种,你买重疾险就只有重疾的内容、你买寿险就只有寿险的内容。
买哪一种形式的保险,完全取决于你的诉求。如果求省事,你可以买中庸的复合险;但如果你是一个追求极致,要求最划算,杠杆比最大化的人,你很可能会单独的购买每一种类型,组合使用。因为它们相比复合险,往往拥有更便宜的价格和更高的保额。
类比到数据库,那就是在某一方面拥有极致性能的数据库,通常都不是多面手。选择使用哪种数据库,需要取决你的场景。
- 历史越久,优势越大
历史越悠久,面世时间越早的数据库拥有更多的用户基础,且由于种种原因(历史包袱等),由于切换使用新技术的成本问题,这些用户会继续选择使用这些数据库。 - 数据渠道不够全面
假设一下,如果在Stack Overflow提问的数量多,你觉得可能是什么原因?
流行度高,使用的人多自然是一种原因。但是还有一种可能,是这个数据库的周边配套太差了。由于文档不全、社区不活跃,导致在产品官网找不到解决途径,在社区提问也无人响应,那么只有求助于Stack Overflow这类渠道了。
而这项打分并没有将社区的主流沟通路径纳入在内。
即便规则对ClickHouse如此不利,DB-Engines排名依然侧面显示出了它的迅猛的发展态势:
所以说,对于排行榜而言,不可不信也不可尽信,大家需要有自己的主观判断,不能只看一个排行数字。