天天看點

在DB-Engines的排名不高,ClickHouse還值得關注嗎?

我:"老大,最近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排名依然側面顯示出了它的迅猛的發展态勢:

是以說,對于排行榜而言,不可不信也不可盡信,大家需要有自己的主觀判斷,不能隻看一個排行數字。