ClickHouse简介

一、概述

ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。它是由俄罗斯公司Yandex于2016年6月15日开源的一个项目,简称为CH。其处理数据的速度比传统方法快 100-1000 倍。​

二、适应场景

  1. 数据批量导入(数据底层会异步做数据同步,少量多次的插入会比较耗资源)

  2.  少修改或者不修改当前数据(ch修改数据会重写整个partition,较为耗资源)

  3.  高时效、低频率查询(由于ch执行的时候会调用一半的CPU,追求极致的时效)

  4.  查询结果多行少列(ch是列式数据库)

  5.  无事务要求,一致性要求低(clickhouse不支持事务)

三、优缺点

优点:

  • 查询速度快,单次查询会利用一半的CPU去进行

  • 压缩特性优秀,ch有着很好的压缩算法

  • 支持SQL语句(与标准SQL略有不同)

  • 集群的扩展性能比较好

  • 数据写入性能优越,能达到50-200M/s

  • 数据按列存储,并按向量进行处理,能高效的使用CPU

缺点:

  • 不支持事务(2021路线图中含简单实现事务)

  • 不支持高并发(官方建议qps为100)

  • 不适合多表JOIN关联(JOIN的性能目前不是很好)

  • 聚合结果必须小于一台机器的内存

四、性能

  1. 数据写入性能:写入速度非常快,50-200M/s,对于大量的数据更新非常适用

  2. 单次查询性能:单次查询会使用一半的CPU,所以单次查询的性能非常的优越。但是聚合结果必须要小于机器内存,否则会内存溢出​。根据个人测试,亿级数据count在50ms以内,后续也会写出测试文档。

  3. ​批量查询性能:Clickhouse快是因为采用了并行处理机制,即使一个查询,也会用服务器一半的CPU去执行,所以ClickHouse对于批量查询的性能会比较差。


猜你喜欢

转载自blog.csdn.net/sileiH/article/details/113183904