ClickHouse 的核心特性?

本文阅读 3 分钟
首页 知识库 正文

列存储:

列存储是指仅从存储系统中读取必要的列数据,无用列不读取,速度非常快。ClickHouse 采用列存储,这对于分析型请求非常高效。一个典型且真实的情况是,如果我们需要分析的数据有 50 列,而每次分析仅读取其中的 5 列,那么通过列存储,我们仅需读取必要的列数据,相比于普通行存,可减少 10 倍左右的读取、解压、处理等开销,对性能会有质的影响。

向量化执行:

在支持列存的基础上,ClickHouse 实现了一套面向 向量化处理 的计算引擎,大量的处理操作都是向量化执行的。相比于传统火山模型中的逐行处理模式,向量化执行引擎采用批量处理模式,可以大幅减少函数调用开销,降低指令、数据的 Cache Miss,提升 CPU 利用效率。并且ClickHouse 可 利 用 SIMD 指令进一 步 加速执行效率。 这 部分是ClickHouse 优于大量同类 OLAP 产品的重要因素。

编码压缩:

由于 ClickHouse 采用列存储,相同列的数据连续存储,且底层数据在存储时是经过排序的,这样数据的局部规律性非常强,有利于获得更高的数据压缩比。此外,ClickHouse 除了支持 LZ4、ZSTD 等通用压缩算法外,还支持 Delta、DoubleDelta、Gorilla 等专用编码算法,用于进一步提高数据压缩比。

多索引:

列存用于裁剪不必要的字段读取,而索引则用于裁剪不必要的记录读取。ClickHouse 支持丰富的索引,从而在查询时尽可能的裁剪不必要的记录读取,提高查询性能。

解压密码: detechn或detechn.com

免责声明

本站所有资源出自互联网收集整理,本站不参与制作,如果侵犯了您的合法权益,请联系本站我们会及时删除。

本站发布资源来源于互联网,可能存在水印或者引流等信息,请用户自行鉴别,做一个有主见和判断力的用户。

本站资源仅供研究、学习交流之用,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。

ClickHouse 有哪些应用场景?
« 上一篇 10-24
使用 ClickHouse 时有哪些注意点?
下一篇 » 10-24

发表评论