Clickhouse调研


  ClickHouse是战斗民族Yandex公司出品的OLAP开源数据库,简称CH/CK,是目前市面上最快的OLAP数据库。

一、适用场景(OLAP)

  • 大多数是读请求
  • 数据批写入
  • 不修改已添加的数据
  • 查询为多行少列
  • 存储宽表
  • 较少的查询(单台100/s左右)
  • 对于简单查询,允许延迟大约50毫秒
  • 无大字段(例如,每个URL 60个字节)
  • 单查询行数较大
  • 无事务要求,对数据一致性要求低
  • 数据被过滤或聚合后能够被盛放在单台服务器的内存中

总结:海量数据,但又不希望单节点的存储空间消耗太高。宽表,为了业务方便,可能会把很多相关数据列都整合到一个表里。基于SQL的查询方式,提高程序的适用性和可移植性。

二、特性

  • 向量计算,且支持多核CPU并行计算,并且执行每个SQL时都力求榨干CPU性能。
  • 列式存储,数据压缩比高
  • 基于Shared nothing架构,支持分布式方案。
  • 兼容大部分SQL语法,其语法和MySQL尤其相近。
  • 支持主键
  • 索引
  • 在线计算
  • 支持近似计算
  • 支持主从复制架构
  • 数据实时更新

三、限制

1、不支持事务

2、不适用高频率,低延迟的更新和删除,仅支持批量删除、修改

3、稀疏索引,不适合点查询

四、性能

  • 单个大查询

数据在page cache

​ 复杂查询2-10GB/s(未压缩),简单查询30GB/s

数据不在page cache

​ 处理速度等于磁盘IO*压缩比

在分布式场景性能几乎线性扩展

  • 短查询的延迟

数据在page cache

几十万行的主键查询小于50ms

数据不在page cache

HDD:10ms * 字段数 * 数据块数据量

  • 短查询吞吐

每秒100次左右

  • 写入性能

建议每秒最多写1次或者每次写入大于1000行,写入速度50-200MB/s

猜你喜欢

转载自blog.csdn.net/qq_42979842/article/details/108921129