clickhouse概述

2022-04-25 09:03:55 浏览数 (1)

ClickHouse全称是Click Stream,Data Warehouse,简称ClickHouse就是基于页面的点击事件流,面向数据仓库进行OLAP分析。ClickHouse是一款开源的数据分析数据库,由战斗民族俄罗斯Yandex公司研发的,Yandex是做搜索引擎的,就类似于Google,百度等。我们都知道搜索引擎的营收主要来源于流量和广告业务,所以搜索引擎公司会着重分析用户网路流量,像Google有Anlytics,百度有百度统计,那么Yandex就对应于Yandex.Metrica。ClickHouse就是在Yandex.Metrica下产生的技术。

clickhouse的核心特点: 1:mpp架构 支持大规模并行计算,每个节点存有对应的分区数据。 2:完善的dbms功能 DDL,DML,权限控制,数据备份与恢复,分布式管理 3:列式存储和数据压缩 对于clickhouse的性能提升,数据压缩起到了很大作用。对于列式存储来说。相同的字段存储在一起,类型一致,数据类似,更方便进行压缩。clickhouse支持LZ4和ZSTD等压缩算法。 4:向量化执行引擎 向量化执行就是利用CPU的SIMD命令,即用单条指令操作多条数据,通过数据并行来提高性能,原理就是在CPU寄存器层面实现数据的并行操作。 5:支持SQL查询 提供传统数据库的概念,如数据库、表、视图和函数等。ClickHouse完全可以使用SQL作为查询语言,让每个人都可以轻松用上大数据。 6:表引擎 表引擎是ClickHouse其中一个重要的特性,拥有合并树、内存、文件、接口和其他6大类等20多种引擎,满足我们生产中的不同场景,选择合适的引擎。 7:多主架构 ClickHouse则采用Multi-Master多主架构,集群中每个角色对等,客户端访问任意一个节点都能得到相同的效果。 8:支持实时查询和分布式查询

优缺点对比: 优点:

代码语言:javascript复制
ROLAP(关系型的联机分析处理,和它一起比较的还有OLTP联机事务处理,我们常见的ERP,CRM系统就属于OLTP)

在线实时查询

完整的DBMS(关系数据库)

列式存储(区别与HBase,ClickHouse的是完全列式存储,HBase具体说是列族式存储)

不需要任何数据预处理

支持批量更新

拥有完善的SQl支持和函数

支持高可用(多主结构,在后面的结构设计中会讲到)

不依赖Hadoop复杂生态(像ES一样,开箱即用)
 

缺点:

代码语言:javascript复制
不支持事务(这其实也是大部分OLAP数据库的缺点)

不擅长根据主键按行粒度查询(但是支持这种操作)

不擅长按行删除数据(但是支持这种操作)
 

高性能查询对比: 在相同的服务器配置与数据量下,平均响应速度:

代码语言:javascript复制
Vertica的2.63倍(Vertica是一款收费的列式存储数据库)

InfiniDB的17倍(可伸缩的分析数据库引擎,基于Mysql搭建)

MonetDB的27倍(开源的列式数据库)

Hive的126倍

MySQL的429倍

Greenplum的10倍

Spark的1倍
 

详情可在以下网址看到:https://clickhouse.tech/benchmark/dbms/ 推荐同学们学习一下大数据部分的clickhouse,后面clickhouse教程将为大家准备。

0 人点赞