我:"老大,最近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排名依然側面顯示出了它的迅猛的發展态勢:
是以說,對于排行榜而言,不可不信也不可盡信,大家需要有自己的主觀判斷,不能隻看一個排行數字。