ClickHouse入门、实战与进阶
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2 ClickHouse特性

ClickHouse的特性可以总结为“三板斧”:存储+计算=快。

ClickHouse基于OLAP场景需求,定制开发了一套全新、高效的列式存储引擎,实现了数据有序存储、主键排序、块级索引(主键索引、稀疏索引)、数据分区、数据分片、本机存储、多重缓存、TTL、主从复制等丰富的功能特性,这些功能特性共同为ClickHouse极致的分析性能奠定了基础。

另外,ClickHouse在计算层也做了非常细致的工作,尽最大努力挤出硬件容量,提高查询速度。ClickHouse实现了单机多核并行、多线程、分布式计算、向量化执行和SIMD指令、LLVM运行时代码生成(Runtime Code Generate)等多项重要技术,进一步为ClickHouse的“快”提供了技术支持。ClickHouse的性能大幅超越了很多商业MPP数据库软件,比如Vertica、InfiniDB等。

ClickHouse的关键特性有深度列存储、向量化查询执行引擎(Vectorized Query Execution)、数据压缩(Data Compression)、使用磁盘、支持SQL、实时数据更新、稀疏索引、运行时代码生成、支持近似计算、数据TTL、高吞吐写入能力、多核心并行计算、多服务器分布式计算、分布式MPP计算架构、分片和副本、完整的DBMS能力、自适应连接算法(Adaptive Join Algorithm)、数据复制和数据完整性、提供复杂数据类型和丰富的函数库等。

下面详细介绍这些特性。