ClickHouse 是什么
ClickHouse是一个快速开源的OLAP数据库管理系统,它是面向列的,允许使用SQL查询实时生成分析报告。
OLAP全称是On-Line Analytical Processing,是一种联机分析处理数据库,一般用于数据仓库或者大数据分析处理,这种类型的数据库在事务能力上很弱,但是在分析的场景下很强大。
列式数据库的优势:
针对分析类查询,通常只需要读取表的一小部分列,减少io消耗
由于数据总是打包成批量读取的,所以压缩是非常容易的。同时数据按列分别存储这也更容易压缩。这进一步降低了I/O的体积。
由于I/O的降低,这将帮助更多的数据被系统缓存
ClickHouse的特性
1、真正的列式数据库管理系统
2、优秀的数据压缩能力
3、数据的磁盘存储,降低设备预算
4、多核心并行处理,ClickHouse会使用服务器上一切可用的资源,从而以最自然的方式并行处理大型查询。
5、多服务器分布式处理
6、支持SQL,降低学习成本
7、向量引擎,数据不仅仅按列存储,同时还按向量(列的一部分)进行处理,这样可以更加高效地使用CPU。
8、实时的数据更新,数据可以持续不断地高效的写入到表中,并且写入的过程中不会存在任何加锁的行为。
9、索引,按照主键对数据进行排序,这将帮助ClickHouse在几十毫秒以内完成对数据特定值或范围的查找。
10、适合在线查询
11、支持近似计算
12、自适应的join算法,JOIN多个表,它更倾向于散列连接算法,如果有多个大表,则使用合并-连接算法。
13、支持数据复制和数据完整性
14、角色的访问控制。
ClickHouse的缺点
1、没有完整的事务支持。
2、缺少高频率,低延迟的修改或删除已存在数据的能力。仅能用于批量删除或修改数据。
3、ClickHouse不适合通过检索单行的点查询