ClickHouse架构概述(二)

1 ClickHouse的核心特性

1.1 完备的DBMS功能

  DDL

  DML

  权限控制

  数据备份与恢复

  分布式管理

1.2 列存储及数据压缩

  按列存储:可以减少查询扫描数据量

  数据压缩的友好性:压缩的本质是按照一定步长对数据进行匹配扫描,当发现重复部分的时候就进行编码转换;同一列的字段具有相同的数据类型和现实语义,重复项的可能性更高,压缩率要更高

  

1.3 向量化引擎

  利用CPU的SIMD指令,本质是通过数据并行来提高性能

1.4 关系模型及SQL查询

  支持sql就使得ClickHouse平易近人

1.5 表引擎多样化

  通过特定的表引擎支撑特定的场景,比较灵活,大约有20多种表引擎

1.6 多线程分布式

  性能要提升除了向量化引擎可以做到,多线程也是一种提升性能的方式;

  ClickHouse在数据存取方面,既支持分区(纵向扩展,利用多线程原理),也支持分片(横向扩展,利用分布式原理)

1.7 多主架构

  ClickHouse则采用Multi-Master多主架构,集群中的每个节点角色对等,客户端访问任意一个节点都能得到相同的效果

1.8 数据分片与分布式查询

  ClickHouse不具有自动化的分片 能力,它有本地表(Local Table)与分布式表(Distributed Table),本地表等同于数据的分片,分布式表是本地表的访问代理,本身不存储数据

2 ClickHouse的架构设计

2.1 Column与Field

2.2 DataType
2.3 Block与Block流

2.4 Table

2.5 Parser与Interpreter

2.6 Functions与Aggregate Functions

2.7 Cluster与Replication

  (1) ClickHouse的1个节点只能拥有1个分片,也就是说如果要实现1分片、1副本,则至少需要部署2个服务节点

  (2) 分片只是一个逻辑概念,其物理承载还是由副本承担的。

3 参考

朱凯《ClickHouse原理解析与应用实践》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值