ClickHouse是一个开源的专栏数据库,近年来备受关注。它主要用于数据分析领域(OLAP)开源于2016年,用C++开发凭借出色的表现,市场反应非常热烈。
点击屋从何而来?Yandex,俄罗斯最大的搜索公司
目前在国内社区很受欢迎,各大工厂纷纷效仿并大规模使用:
在今天的头条新闻中用于用户行为分析。内部有数千个ClickHouse节点,单个群集最多有1200个节点,总数据量为几十PB,原始数据增加了大约300TB。
腾讯使用ClickHouse进行游戏数据分析,并建立了完整的监控和操作系统。
携程于7月18日开始其访问试验。目前,该公司80%的业务都在点击屋运营。每天的数据增量超过十亿,有近一百万个查询请求。ClickHouse也在
个快速处理器中使用,总存储空间约为10PB,每天增加200TB,90%的查询小于3S。
在数据库引擎中排名,如下图中的曲线所示ClickHouse的开源时间很短,但发展很快。
为什么ClickHouse在大型互联网工厂广泛使用?让我们先来看看OLAP场景的特点
1。OLAP场景的特点
多读少写;
大宽度表,读取大量行,但读取少量行,结果集较小;
数据批量写入,数据不更新或更新较少;
不需要任何事务,并且要求低数据一致性。
需要灵活,不适合预建模。
2、ClickHouse存储层
ClickHouse根据OLAP场景的需要定制开发了一套新的高效列存储引擎,实现了有序数据存储、主键索引、稀疏索引、数据分片、数据分区、TTL、主从复制等丰富功能。综上所述,上述特性为ClickHouse极其快速的分析性能奠定了基础。
ClickHouse实现了大多数当前主流的数据分析技术,并具有明显的技术优势:
提供了极高的查询性能:开源开放基准显示比传统方法快100~1000倍。提供50MB~200MB/s的高吞吐量实时导入能力
以极低的成本存储海量数据:借助精心设计的列存储和高效的数据压缩算法,压缩率高达10倍,大大提高了单机数据存储和计算能力,大大降低了使用成本,是构建海量数据仓库的绝佳方案。
简单、灵活且功能强大:它提供了完美的SQL支持,并且使用非常简单。提供json、map、array等灵活的数据类型适配服务,以快速变化;同时,它支持近似计算和概率数据结构来处理海量数据。
3,ClickHouse计算层
ClickHouse在计算层做了非常详细的工作,尽最大努力消耗硬件容量并提高查询速度它实现了单机多核并行、分布式计算、向量化执行、SIMD指令、代码生成等许多重要技术。
4。与其他开源技术相比,
是一套完整的解决方案,与开源社区中的其他几种分析技术相比,如Druid、Presto、Impala、Kylin、弹力搜索等。ClickHouse具有独立的存储和计算能力(不需要依赖额外的存储组件),完全实现了高可用性,并支持完整的SQL语法,包括JOIN等。它具有明显的技术优势与hadoop系统相比,
更简单,更容易处理数据库形式的大数据,学习成本低,灵活性高。