從ClickHouse的名字由來講起

身邊的朋友都知道,我正在寫一本介紹ClickHouse的書籍,書名叫做《ClickHouse原理解析和應用實踐》,可以說2019年的絕大部分深夜,都與寫作共度春宵了。現在終於有時間來扯些閒篇了。在日常生活中,我算是一個比較注重儀式感的人,所以喜歡研究每個事物的名字,總覺得它們的背後一定是有所寓意的。

目前在國內,關於ClickHouse方面的,有深度的介紹資料並不多,大多都是千篇一律,所以就更別提有它的八卦資訊了。你看隔壁的Hadoop動物園,討論的是多麼熱火朝天,難道大家就不好奇爲什麼ClickHouse要叫做ClickHouse麼?

至少我是好奇的,無奈在網上一直查不到相關的資料,心想這隻有問問作者本人了。恰巧在參加ClickHouse的一次閉門會議時,有機會當面向作者請教。我就用我那純正的中式口音問道:
"What's the meaning of the name, why we call it ClickHouse ?"

當 Ivan 耐心的在黑板上寫下幾個大字以後,一切豁然開朗。

看到了名字的含義,再結合ClickHouse的發展歷程,一切就解釋的通了。

我們都知道,ClickHouse由雛形發展至今,一共經歷了4個階段。它的初始設計目標,就是爲了服務於自家的一款名叫yandex metrica的產品。

那metrica又是幹什麼的呢?簡單來說,metrica是一款Web流量分析工具,基於前方探針採集回來的行爲數據,進行一系列的數據分析,類似數倉(data warehouse)的OLAP分析。

而在探針採集的數據模型中,一次頁面點擊(click),會產生一個event事件。至此,整個系統的訴求就很清晰了,那就是基於頁面的點擊事件流,面向數據倉庫進行OLAP分析。

所以ClickHouse這名字起的是不是既形象又貼切呢?

在知道了ClickHouse大名的由來以後,我還想接着聊聊它的小名,也就是縮寫啦。
此時此刻,我的內心臺詞:

"這貨真的不是內褲,我要爲他正名..."

不知道從何時開始,也不知道是何種原因,ck 就成爲了ClickHouse的縮寫,在圈內傳開。當第一次看到有人用 ck 稱呼ClickHouse的時候,我很是納悶,心想: "這廝不是內褲麼?"。

我們不妨看看英語單詞的縮寫,通常是怎麼命名的。首先分析一下ClickHouse的組成,ClickHouse由ClickHouse兩個單詞組成,這個在英語裏面稱爲組合詞。對於組合詞,除開一些特殊情況,通常的壓縮規則是,選取每個單詞的首字母。

業界有很多基於這個規則的例子,比如:

  • HDFS - Hadoop Distributed File System
  • MR - MapReduce
  • ZK - ZooKeeper
  • ASF - Apache Software Foundation
  • DS - DolphinScheduler

上述類似的例子數不勝數。
接下來,還有在ClickHouse源碼中,官方對自己的簡寫稱呼:

   // For support old versions CH.
    if (source_is_lost_stat.version == -1)

    ...

     /** Considering that CH uses UInt8 for representation of boolean values this function
    ...

所以,ClickHouse的正確縮寫,應該是 CH CH CH ,重要的事情必須說三遍。 希望大家以後不要再叫他內褲了...

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章