采用列式存储时,数据在磁盘上的组织结构为:
1 2 3 张三 李四 王五 18 20 25
好处:
几乎覆盖标准SQL大部分语法,包括DDL与DML,以及配套函数,用户管理权限管理,数据备份与恢复
ClickHouse与Mysql类似,把表级的存储引擎插件化,根据表的不同需求可以设定不同的存储引擎。目前包括合并树、日志、接口和其他四大类20多种引擎
ClickHouse采用类LSM Tree的结构,数据写入后定期在后台Compaction。ClickHouse在数据导入时全部是顺序append写,写入后数据段不可更改,在后台Compaction时也是多个段merge sort后顺序写回磁盘。顺序写的特性,充分利用了磁盘的吞吐能力。
官方公开能达到50MB200MB写入吞吐能力,按照每行100Byte计算,大约相当于50200W条/s的写入速度
ClickHouse将数据划分为多个partition,每个partition在进一步划分为多个index granularity(索引粒度),然后通过多个CPU核心分别处理其中一部分在实现并行处理。因此,单条Query就能利用整机所有CPU
就ClickHouse的特点而言,比较适合处理后的宽表的存储与统计分析
欢迎关注公众号算法小生或沈健的技术博客shenjian.online