hugo/content/posts/1.Learning/A1.StudyNotes/clickhouse.md
2026-03-18 22:36:05 +08:00

50 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: "ClickHouse"
date: 2022-10-02T14:54:45+08:00
tags: ["clickhouse"]
categories: ["Learning", "StudyNotes"]
---
# ClickHouse
> 官网:[clickhouse.com](https://clickhouse.com/)
>
> 学习资料:[谷粒](https://www.gulixueyuan.com/my/course/445)
## 核心要点:
1. MergeTree引擎
2. OrderBy是主键
3. 分布式
4. Explain
5. 参数配置
6. 语法规则
7. 多表联查join
## 面试题
1.不支持真正的`delete/update`操作,不支持`transactions`(事物)
```text
OLAP引擎一般都不支持事物ClickHouse的定位也是分析性数据库而不是严格的关系型数据库加入对于事物的支持
必然会有锁,同时分布式事物的支持,会带来更复杂的实现,其中诸多因素,都会影响写入和查询的性能。
```
2.不支持高并发查询,官方建议`100 QPS`
```text
ClickHouse是并行计算单个查询就可以跑满多个CPU核心而不像MySQL单个查询单线程执行。
```
3.需要批量写入,频繁的单条写入会带来写入问题
```text
ClickHouse存储结构有点类LSM每次的insert基本都会生成一个文件目录后台线程Merge目录文件如果频繁写入
后台线程就会Merge不过来产生`Too many parts`异常。建议每秒不超过一次写入并且是Batch写入。
```
4.有限的SQL语法支持JOIN语法也比较另类暂时不支持窗口函数
5.稀疏索引的设计使得ClickHouse不适合做单行点查询