ClickHouse最初是Yandex Metrica中用于Web分析的解决方案,Metrica是一项用于分析网站流量的流行服务,目前在Google Analytics(分析)之后排名第二。
2008年,Metrica团队的工程师Alexey Milovidov正在寻找一个数据库,该数据库可以创建有关指标的报告,例如每天的页面浏览量,唯一身份访问者和跳出率,而无需预先汇总数据。该想法是提供广泛的度量标准数据,并让用户提出有关它们的任何问题,这是数据仓库的经典问题。
但是,Alexey找不到满足Yandex要求的程序,特别是大型数据集,线性缩放,高效和与SQL工具的兼容性。简而言之:类似于MySQL,但用于分析应用程序OLAP。
于是Alexey 写了一个这样原型,它最初是做GROUP BY操作的原型。该原型演变成一个完整的解决方案,名称为ClickHouse,简称“ Clickstream Data Warehouse”。
Alexey添加了其他功能,包括SQL支持和MergeTree引擎。SQL方言从表面上类似于MySQL,后者也在Metrica中使用,但是如果没有复杂的预聚合就无法处理查询工作负载。
到2011年,ClickHouse已在Metrica中投入生产。在接下来的5年中,Alexey和不断壮大的开发人员团队将ClickHouse扩展到了新的用例。
到2016年,ClickHouse已成为Metrica的核心后端服务。它也已根深蒂固地成为Yandex内的数据仓库,并扩展到诸如服务监视,网络流日志和事件管理之类的用例。
ClickHouse已由最初的一个人项目演变为业务关键软件,由Alexey领导的十多名工程师组成的完整团队。
到2016年,ClickHouse已有8年的历史,并准备成为大型开源项目。
ClickHouse是什么?
它是一个面向列的数据库。这意味着,在内部,它会将列存储在一起而不是将行存储在一起。实际上,这意味着它已针对在大型数据集上计算分析进行了优化。
它可以很好地替代时间序列数据库,即使从技术上讲它不是时间序列数据库。有人将数据从InfluxDB迁移到ClickHouse,性能得到显着提高。