云图说|OLAP开源引擎的一匹黑马,MRS集群组件之ClickHouse

时间:2021-05-25 11:56:04

什么是ClickHouse?

ClickHouse是俄罗斯公司 Yandex 在2016年开源的高性能、开源联机分析列式数据库管理系统。开源后,凭借卓越的分析性能、极好的线性扩展能力和丰富的功能,被业界公认为实时分析领域 OLAP 开源引擎的一匹黑马。

ClickHouse的关键特性

  • 1、完备的DBMS功能:具备DDL、DML、数据库/表权限控制及分布式管理等功能。
  • 2、列式存储和数据压缩:数据压缩比高(支持LZ4, ZSTD压缩算法),极大的节约了IO带宽。
  • 3、向量化执行引擎:多核并行计算、向量化执行与SIMD,性能表现卓越。
  • 4、SQL支持:支持标准的SQL语法,内置功能齐全的分析统计函数等。支持多索引:主键索引、稀疏索引等。
  • 5、数据存储:自管理数据存储,不依赖其他组件。

ClickHouse的核心优势

  1. 性能优势

ClickHouse 采用列存储,相同列的数据属于同一类型,有利于获得更高的数据压缩比。通常可以达到 10 : 1 的压缩比,大幅降低存储成本。同时,超高的压缩比又可以降低存储读取开销、提升系统缓存能力,从而提高查询性能。

  1. 副本机制

ClickHouse 利用Zookeeper,通过ReplicatedMergeTree引擎(Replicated 系列引擎)实现了副本机制。用户在创建表时,可指定存储引擎,选择该表是否进行复制。

ClickHouse 副本机制的设计可以最大限度的减少网络数据传输,用以在不同的数据中心进行同步,所以也可以用来建设多数据中心、异地多活的集群架构。

  1. 分片和分布式表机制

ClickHouse通过分片机制将一张表中的数据拆分到多个节点,不同节点之间的数据没有重复。在查询分片数据时,通过分布式表进行查询,分布式表会将查询请求自动路由到各个分片节点上,并进行结果的汇聚。

应用场景

ClickHouse适合对结构定义良好并且不可变的事件/日志流进行分析。

适用场景

不适用场景

网络/App 流量分析

用户行为记录分析

人群预估、人群画像

商业智能(BI)

监控系统

大宽表,单表聚合查询

OLTP

Key-value 高频访问

文档存储

非结构化数据

稀疏索引使得不适合通过其键检索单行的点查询

不适合频繁更新和删除的场景

猜你喜欢