2.ClickHouse系列之特点介绍

1. 列式存储

采用列式存储时,数据在磁盘上的组织结构为:
1 2 3 张三 李四 王五 18 20 25
好处:

  • 对于列的聚合、计数、求和等统计操作由于列式存储
  • 由于列数据类型相同,更容易数据压缩
  • 由于数据压缩比更好,不仅节省磁盘空间,更便于cache发挥空间
2. DBMS功能完备

几乎覆盖标准SQL大部分语法,包括DDL与DML,以及配套函数,用户管理权限管理,数据备份与恢复

3. 引擎种类丰富

ClickHouse与Mysql类似,把表级的存储引擎插件化,根据表的不同需求可以设定不同的存储引擎。目前包括合并树、日志、接口和其他四大类20多种引擎

4. 高吞吐写入能力

ClickHouse采用类LSM Tree的结构,数据写入后定期在后台Compaction。ClickHouse在数据导入时全部是顺序append写,写入后数据段不可更改,在后台Compaction时也是多个段merge sort后顺序写回磁盘。顺序写的特性,充分利用了磁盘的吞吐能力。

官方公开能达到50MB200MB写入吞吐能力,按照每行100Byte计算,大约相当于50200W条/s的写入速度

5. 数据分区与线程级并行

ClickHouse将数据划分为多个partition,每个partition在进一步划分为多个index granularity(索引粒度),然后通过多个CPU核心分别处理其中一部分在实现并行处理。因此,单条Query就能利用整机所有CPU

就ClickHouse的特点而言,比较适合处理后的宽表的存储与统计分析

欢迎关注公众号算法小生沈健的技术博客

posted @ 2022-10-21 21:27  算法小生  阅读(21)  评论(0编辑  收藏  举报