从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月前
|
存储 Cloud Native 前端开发
ByConity 真的可以替换 ClickHouse 吗?
随着 ByConity 应用得越来越广泛,ClkLog 考虑到有用户或许已经使用了 ByConity 作为数据仓库,那么为了验证用户是否可以直接使用 ByConity 来替换掉 ClickHouse 搭建 ClkLog,我们专门针对 ByConity 的兼容性做了一组测试。
ByConity 真的可以替换 ClickHouse 吗?
|
SQL Oracle 关系型数据库
nid 修改数据库的名字
Nid是Oracle从9iR2开始提供的工具,可以用来更改数据库名称,而无需通过之前重建控制文件等繁琐方式。 需要说明的是,虽然这个工具来自9iR2,但是仍然可以被用于Oracle8i.
1252 0
|
网络安全 数据库 关系型数据库
|
Oracle 关系型数据库 C#
查看oracle数据库服务器的名字
原文:查看oracle数据库服务器的名字   windows 中   1. select name from v$database ;   直接运行就可以查看了, 2.查看tnsnames.
906 0
|
数据库
LeetCode(数据库)- 修复表中的名字
LeetCode(数据库)- 修复表中的名字
110 0
|
Oracle 关系型数据库 数据库
修改oracle数据库的名字
最近闲来无事,决定修改一下数据库的名字,记得曾经学过通过重建控制文件来修改数据库的名字,网上找了下也可以通过oracle自带的nid修改数据库的名字,不过这个方法有些麻烦,并且修改的数据库名字不能带“_"。   1,通过重建控制文件修改数据库名字。 为了方便查找trace文件我们在进行备份控制文件的时候我们可以标记下trace文件: alter session set  tracef
1707 0
|
NoSQL Shell 数据库
MongoDB系列一(查询).
一、简述     MongoDB中使用find来进行查询。查询就是返回一个集合中文档的子集,子集合的范围从0个文档到整个集合。默认情况下,"_id"这个键总是被返回,即便是没有指定要返回这个键。("_id"是一个集合中每个文档的唯一标识)     查询的使用上有限制,传递给数据库的查询文档必须是常量。
1376 0
|
关系型数据库 MySQL 开发工具
【Mysql】Mysql数据表区分大小写问题解决方案
原因 由于有的环境下,对数据表的大小写是明确区分的,但是我在导出的时候的数据表全部都是小写的,这个时候需要对环境进行配置 解决 vim /etc/my.cnf 在[mysqld]下加入一行:lower_case_table_names=1 service mysq...
861 0

热门文章

最新文章