clickhouse面试题

这篇博客详细介绍了Clickhouse,包括其作为高性能OLAP数据库的特点、不足、表引擎类型,如Log系列和MergeTree系列,以及数据类型。同时,讨论了Clickhouse为何在查询速度上表现出色,并列举了常见问题及排查方法。
摘要由CSDN通过智能技术生成

目录

1.简单介绍一下clickhouse

2.ClickHouse具有哪些特点

3.Clickhouse作为一款高性能OLAP数据库,存在哪些不足

4.Clickhouse有哪些表引擎

5.介绍下Log系列表引擎

6.简单介绍下MergeTree系列引擎

7.简单介绍下外部集成表引擎

8.Clickhouse有哪些数据类型

9、ClickHouse为何如此之快

10、ClickHouse 常见的问题有哪些

11、ClickHouse 的问题排查方法


1.简单介绍一下clickhouse

Clickhouse是一种用于联机分析(OLAP)的列式数据库管理系统(DBMS)。主要用于WEB流量分析。Clickhouse的全称是ClickStream、DataWarehouse,简称Clickhouse。Clickhouse非常适用于商业智能领域,除此之外,它也能够被广泛应用于广告流量、Web、App流量、电信、金融、电子商务、信息安全、网络游戏、物联网等众多其他领域。

2.ClickHouse具有哪些特点

支持完备的sql操作

列式存储与数据压缩

向量化执行引擎

关系模型(与传统数据库类似)

丰富的表引擎

并行处理

在线查询

数据分片

3.Clickhouse作为一款高性能OLAP数据库,存在哪些不足

不支持事务。

不擅长根据主键按行粒度进行查询(虽然支持),故不应该把clickhouse当作Key-Value数据库使用。

不擅长按行删除数据(虽然支持)

4.Clickhouse有哪些表引擎

MergeTree系列

Log系列

Integration Engines

Special Engines

5.介绍下Log系列表引擎

应用场景

Log系列表引擎功能相对于简单,主要用于快速写入小表(1百万行左右的表),然后全部读出的场景。即一次写入多次查询。

Log系列表引擎的特点。

共性特点

数据存储在磁盘上

当写数据时,将数据追加到文件的末尾

不支持

并发读写,当向表中写入数据时,针对这张表的查询会被阻塞,直至写入动作结束

不支持索引

不支持原子写:如果某些操作(异常的服务器关闭)中断了写操作,则可能会获得带有损坏数据的表

不支持ALTER操作(这些操作会修改表设置或数据,比如delete、update等等)

6.简单介绍下MergeTree系列引擎

在所有的表引擎中,最为核心的当属MergeTree系列表引擎,这些表引擎拥有最为强大的性能和最广泛的使用场合。对于非MergeTree系列的其他引擎而言,主要用于特殊用途,场景相对有限。而MergeTree系列表引擎是官方主推的存储引擎,支持几乎所有ClickHouse核心功能。

MergeTree表引擎

MergeTree在写入一批数据时,数据总会以数据片段的形式写入磁盘,且数据片段不可修改。为了避免片段过多,clickhouse会通过后台线程,定期合并这些数据片段,属于相同分区的数据片段会被合成一个新的片段。这种数据片段往复合并的特点,也正是合并树名称的由来。

MergeTree作为家族系列最基础的表引擎,主要有以下特点:

存储的数据按照主键排序:允许创建稀疏索引,从而加快数据查询速度

支持分区,可以通过PRIMARY KEY语句指定分区字段。

支持数据副本

支持数据采样

7.简单介绍下外部集成表引擎

Clickhouse提供了许多与外部系统集成的方法,包括一些表引擎。这些表引擎与其他类型的表引擎类似,可以用于将外部数据导入到clickhouse中,或者在clickhouse中直接操作外部数据源。

例如直接读取HDFS的文件或者MySQL数据库的表。这些表引擎只负责元数据管理和数据查询,而它们自身通常并不负责数据的写入,数据文件直接由外部系统提供。目前Clickhouse提供了下面的外部集成表引擎:

ODBC

通过指定odbc连接读取数据源

JDBC

通过指定jdbc链接读取数据源

MySql

将MySql作为数据存储,直接查询其数据

HDFS

直接读取HDFS上的特定格式的数据文件

Kafka

将kafka数据导入clickhouse

RabbitMQ

与kafka类似

8.Clickhouse有哪些数据类型

数值类型

固定长度的整数类型又包括有符号和无符号的整数类型。

浮点类型

单精度浮点数

双精度浮点数

Decimal类型

有符号的定点数,可在加、减和乘法运算过程中保持精度。clickhouse提供了Decimal32、Decimal64和Decimal128三种精度的定点数

字符串类型

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值