从ClickHouse的名字由来讲起

简介: ClickHouse为什么叫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 ,重要的事情必须说三遍。 希望大家以后不要再叫他内裤了...

目录
相关文章
|
6月前
|
SQL 关系型数据库 Apache
Apache Doris 系列: 入门篇-创建数据表
Apache Doris 系列: 入门篇-创建数据表
191 0
|
关系型数据库 Java MySQL
clickhouse的常用语法你知道吗
clickhouse数据库,总结了一些常用的语法
275 0
clickhouse的常用语法你知道吗
|
27天前
|
NoSQL Java MongoDB
mongoDB动态配置文档名称
mongoDB动态配置文档名称
33 0
|
6月前
|
SQL 存储 大数据
更改 HIVE 表字段数据类型有哪些注意事项?
更改 HIVE 表字段数据类型有哪些注意事项?
|
4月前
|
存储 应用服务中间件 nginx
Elasticsearch-Alias别名的2个核心场景
了解Elasticsearch的Alias别名之后,可以在业务上很方便的实现复杂需求,快速解决问题,本文从3个方面介绍:官方定义、使用场景、使用方法。
|
6月前
|
SQL 分布式计算 Java
如何在 hive udf 中访问配置数据-踩坑记录,方案汇总与对比-udf中可以写sql吗?
如何在 hive udf 中访问配置数据-踩坑记录,方案汇总与对比-udf中可以写sql吗?
|
7月前
|
存储 关系型数据库 MySQL
mysql中修改某个数据列的名字或数据类型
mysql中修改某个数据列的名字或数据类型
162 1
|
9月前
|
关系型数据库 MySQL 数据库
MySQL实战基础知识入门(8):MySQL数据库实例数据表解读字段命名方式以及数据类型的设置
MySQL实战基础知识入门(8):MySQL数据库实例数据表解读字段命名方式以及数据类型的设置
98 0
|
9月前
|
测试技术 API 索引
ElasticSearch学习笔记(六)索引别名
前面了解了Elasticsearch索引模板的概念,今天我们学习一下Elasticsearch中的别名(Alias)
152 0
|
算法 搜索推荐 关系型数据库
同事说关键字查询用Mysql,我上去就是一个高压锅,用ElasticSearch不香吗?
同事说关键字查询用Mysql,我上去就是一个高压锅,用ElasticSearch不香吗?
同事说关键字查询用Mysql,我上去就是一个高压锅,用ElasticSearch不香吗?

热门文章

最新文章