从 ClickHouse 的名字由来讲起
身边的朋友都知道,我正在写一本介绍ClickHouse的书籍,书名暂时叫做
《ClickHouse原理解析和开发实战》,可以说2019年的绝大部分深夜,都与写作共度春宵了。现在书已经写完了,终于有时间来扯些闲篇了。
今天我想从ClickHouse的名字说起,在日常生活中,我算是一个比较注重仪式感的人,所以喜欢研究每个事物的名字,总觉得它们的背后一定是有所寓意的。
目前在国内,关于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由 Click 和 House 两个单词组成,这个在英语里面称为组合词。对于组合词,除开一些特殊情况,通常的压缩规则是,选取每个单词的首字母。
业界有很多基于这个规则的例子,比如:
HDFS - Hadoop Distributed File System
MR - MapReduce
ZK- ZooKeeper
ASF - Apache Software Foundation
DS - DolphinScheduler
上述类似的例子数不胜数。
接下来,还有在ClickHouse源码中,官方对自己的简写称呼:
所以,ClickHouse的正确缩写,应该是 CH CH CH ,重要的事情必须说三遍。希望大家以后不要再叫他内裤了...
版权声明: 本文为 InfoQ 作者【nauu】的原创文章。
原文链接:【http://xie.infoq.cn/article/fb7b5f3cf98c49651b89a8900】。文章转载请联系作者。
评论