2026-06-18 · database / architecture
【列存引擎内核】DuckDB 架构与嵌入式 OLAP
DuckDB 进程内嵌入式模型、Storage 的 Row Group 与 Column Segment、Catalog 与 checkpoint;与 ClickHouse Server 部署差异及 pg_duckdb 联邦场景边界。





















前两篇 DuckDB 专题(架构(第 11 篇)、Pipeline(第 12 篇))与 ClickHouse 主系列(MergeTree、Distributed、运维)放在一起,读者自然问:同一 OLAP 问题该用谁?
本文给 决策树与组合架构,不做「谁快 10 倍」类结论——WRITING_GUIDE 要求性能判断须实测或引用;此处两者工作负载差异太大,虚构数字无意义。
| 误区 | 澄清 |
|---|---|
| DuckDB 是小 ClickHouse | 嵌入 vs 服务,存储生命周期不同 |
| ClickHouse 可替代 DuckDB 做 notebook | 可以远程连 CH,但运维重量不同 |
| 二选一 | 生产常见 PG OLTP + CH 分析 + DuckDB 本地 EDA |
flowchart TB
Q[分析需求]
Q -->|远程多用户 PB 级| CH[ClickHouse 集群]
Q -->|进程内 TB 级| DUCK[DuckDB]
Q -->|PG 库内加速| PGD[pg_duckdb]
Q -->|湖仓 Parquet 探查| DUCK
CH --> PG[(PostgreSQL CDC)]
DUCK --> PG
| ClickHouse | DuckDB | |
|---|---|---|
| 部署 | server cluster | pip install / 单二进制 |
| 协议 | HTTP/TCP/MySQL wire | API |
| 多租户 | 用户/配额/RBAC | 文件级隔离 |
| 升级 | 滚动升级集群 | 库版本随应用发版 |
| ClickHouse | DuckDB | |
|---|---|---|
| 典型上限 | PB 级(分 shard) | 单机 TB 级舒适区 |
| 文件形态 | 大量 Part 目录 | 单 .duckdb + checkpoint |
| 合并 | MergeTree merge 持续 | Checkpoint |
| 删改 | Mutation 重 | UPDATE 重写 RG |
Refer Merge(第 06 篇) vs DuckDB checkpoint。
| ClickHouse | DuckDB | |
|---|---|---|
| 并发 SELECT | 高(集群线性扩展) | 受 threads 与单文件锁约束 |
| 并发 INSERT | 极高 ingest 设计 | 写并发弱 |
| 交互延迟 | ms~s(视 merge/parts) | 本地 ms 级常见 |
不列 QPS 数字——须用业务 query mix 压测。
| ClickHouse | DuckDB | |
|---|---|---|
| SQL 方言 | CH 扩展多 | PG-like |
| 窗口函数 | 支持 | 支持 |
| 数组/嵌套 | Tuple/Nested | LIST/STRUCT |
| BI 工具 | 广泛 JDBC/HTTP | 增长中 |
| 联邦 | PostgreSQL/MySQL engine | postgres_scanner, httpfs |
| ClickHouse | DuckDB | |
|---|---|---|
| 监控 | system 表丰富(第 14 篇) | 轻量 pragma |
| 经典故障 | parts/merge/replica(第 15 篇) | OOM/spill/文件锁 |
| 人力 | 专职平台常见 | 应用团队自给 |
START
├─ 是否需要独立 SQL 服务供多团队/BI 远程访问?
│ ├─ 是 → 倾向 ClickHouse(或 Trino/StarRocks 等,本文边界外)
│ └─ 否 → 继续
├─ 数据是否已在 Parquet/CSV 文件 / S3,仅偶尔分析?
│ ├─ 是 → 倾向 DuckDB(read_parquet/httpfs)
│ └─ 否 → 继续
├─ 持续 ingest > 单机磁盘 IO 或需副本 HA?
│ ├─ 是 → ClickHouse ReplicatedMergeTree + Distributed
│ └─ 否 → 继续
├─ 是否必须嵌在 Python/R 进程且无运维?
│ ├─ 是 → DuckDB
│ └─ 否 → 继续
├─ 是否已有 PostgreSQL 且只想加速 ANALYTICAL 查询?
│ ├─ 是 → 评估 pg_duckdb vs CH 外表副本
│ └─ 否 → 按团队技能 CH/DuckDB 二选一
END
DuckDB 不承担中心仓,除非规模小。
| 需求 | 推荐路径 |
|---|---|
| 强一致 OLTP | PG |
| 复杂 JOIN 中小数据 | PG 或 DuckDB attach PG |
| 十亿行聚合 | CH 或 DuckDB 单机(视 RAM) |
| 实时 dashboard 全公司 | CH 集群 |
| Notebook 探索 | DuckDB |
PG B-Tree 索引语义 与 CH 排序键(第 07 篇) 不同——迁 schema 时勿照搬 PRIMARY KEY 含义。
LSM 系列 写优化 ingest(Kafka → CH 也常并存);DuckDB 不取代 Kafka consumer 集群。行存 InnoDB/PG 做源库,列存做 读优化副本——铁三角见 系列 index。
| 成本项 | ClickHouse | DuckDB |
|---|---|---|
| 机器 | 多节点 SSD | 0 增量(用现有机器) |
| 运维 headcount | 高 | 低 |
| 培训 | CH 方言 + 分布式 | SQL + Python API |
| 云托管 | ClickHouse Cloud 等 | MotherDuck 等(产品演进快,不评 internals) |
合法且常见:
避免:双写全量 无同步机制——必不一致。
| 反模式 | 后果 |
|---|---|
| DuckDB 当多用户 BI server | 连接与锁瓶颈 |
| ClickHouse 嵌 Python 每进程起一个 server | 资源爆炸 |
| 用 GLOBAL JOIN 代替选型 | 见 第 09 篇 |
| 忽视 CH parts 治理做实时小 batch | 第 15 篇 |
| 期望 DuckDB 跨机 shard | 无内置 |
POC 应 固定 query mix 与数据规模,记录:
无银弹;组合架构多于单选。
特征:PB 级、数千 QPS ingest、多团队 SQL、副本 HA。
选型:ClickHouse ReplicatedMergeTree +
Distributed + Kafka MV(第
10 篇)。
DuckDB 位置:分析师本地 sample Parquet,不扛生产
ingest。
特征:单 PG 实例、<1TB 分析表、无专职 CH 运维。
选型:pg_duckdb 或 periodic export + DuckDB
notebook。
何时升级到 CH:PG CPU/IO 被分析打满、需独立 SLA。
特征:S3 Parquet、单用户、交互探索。
选型:DuckDB read_parquet /
httpfs。
CH 仅在需共享 dashboard 服务时叠加。
特征:断网、本地聚合、周期性 upload。
选型:门店 DuckDB 预聚合;中心
ClickHouse 收汇总行。
注意 upload batch 避免中心 too many parts。
特征:敏感数据、禁止第三方 SaaS 分析。
两者均可自建;CH 集群运维更重,DuckDB 嵌入应用更轻——按
运维编制 而非技术绝对优劣。
特征:期望一套系统 OLTP+实时大屏。
现实:PG/Citus OLTP + CH 副本仍主流;DuckDB 不替代 PG
事务;CH 不做行级事务。
| 团队能力 | 倾向 |
|---|---|
| 已有 CH 平台组 | 新 OLAP 优先 CH |
| 仅 PG DBA | pg_duckdb / 只读副本 |
| Python 数据科学 | DuckDB 默认 |
| Java BI + JDBC | CH JDBC 成熟 |
PG → CH:CDC(Debezium)或批量
COPY → MergeTree;排序键 redesign(第 07
篇)。
CH → DuckDB:FORMAT Parquet
导出 → read_parquet;丢失
Distributed/副本,仅便携分析。
DuckDB → CH:EXPORT DATABASE /
Parquet 中间格式 → CH INSERT;须重设
PARTITION/ORDER BY。
两者均可 on-prem。DuckDB 数据在单文件易拷贝——权限与磁盘加密由宿主应用负责。CH 集群需 RBAC、network isolation、backup 策略(监控 第 14 篇)。
Q:MotherDuck / ClickHouse Cloud?
托管控制面不在本系列;选型看数据驻留与合同,不评内部实现。
Q:Trino/StarRocks?
联邦或替代 OLAP——超出本系列;CH vs DuckDB 聚焦 MergeTree vs
嵌入 DuckDB。
Q:只用 Parquet lake 呢?
DuckDB 探查 + CH Serving 层是常见 lakehouse 分工。
| 活动 | 数据平台 | 应用 | 分析 |
|---|---|---|---|
| CH 集群运维 | R/A | I | I |
| DuckDB notebook | C | I | R |
| 分片键设计 | R | C | I |
| PG OLTP | I | R/A | I |
R=负责 A=批准 C=协商 I=知会——组织模板,非技术结论。
ClickHouse Apache 2.0;DuckDB MIT——一般企业友好;法务仍审 third-party。数据驻留取决于部署位置非许可证。
CH:database + row policy + network。DuckDB:每租户单文件或单进程——隔离强但运维 multiplication。
CH 滚动升级 LTS track;DuckDB 随应用发版 pin 版本—— regression test on export/import。
CH:MergeTree parts + Distributed + system 表(本系列)。DuckDB:SQL + Python + Parquet。PG DBA 转 CH 先纠正索引/事务心智。
平台组 CH;研究组 DuckDB;规范 Parquet 作为交换格式 避免双写 truth。
| 反模式 | 说明 |
|---|---|
| DuckDB TCP hack | 非设计用途 |
| CH 每微服务 embedded | 应用内嵌 CH 库不存在 |
| 比较 hello world QPS | 无业务 representativeness |
Iceberg/Delta 表上 DuckDB/Trino/CH 外表——lakehouse 选型超出本系列 core,但 Serving 层 仍常 CH。
第 13 章与系列其它篇章的交叉:读路径见 第 05
篇;merge 见 第 06
篇;索引见 第 07
篇;副本见 第
08 篇;Distributed 见 第
09 篇;监控见 第 14
篇;故障见 第 15
篇;配置见 第 16
篇。 实施任何 setting 变更前,在 staging 用
system.parts / query_log 建立 24h
基线,变更后再对比——避免无证据调参。
第 13 章与系列其它篇章的交叉:读路径见 第 05
篇;merge 见 第 06
篇;索引见 第 07
篇;副本见 第
08 篇;Distributed 见 第
09 篇;监控见 第 14
篇;故障见 第 15
篇;配置见 第 16
篇。 实施任何 setting 变更前,在 staging 用
system.parts / query_log 建立 24h
基线,变更后再对比——避免无证据调参。
第 13 章与系列其它篇章的交叉:读路径见 第 05
篇;merge 见 第 06
篇;索引见 第 07
篇;副本见 第
08 篇;Distributed 见 第
09 篇;监控见 第 14
篇;故障见 第 15
篇;配置见 第 16
篇。 实施任何 setting 变更前,在 staging 用
system.parts / query_log 建立 24h
基线,变更后再对比——避免无证据调参。
第 13 章与系列其它篇章的交叉:读路径见 第 05
篇;merge 见 第 06
篇;索引见 第 07
篇;副本见 第
08 篇;Distributed 见 第
09 篇;监控见 第 14
篇;故障见 第 15
篇;配置见 第 16
篇。 实施任何 setting 变更前,在 staging 用
system.parts / query_log 建立 24h
基线,变更后再对比——避免无证据调参。
第 13 章与系列其它篇章的交叉:读路径见 第 05
篇;merge 见 第 06
篇;索引见 第 07
篇;副本见 第
08 篇;Distributed 见 第
09 篇;监控见 第 14
篇;故障见 第 15
篇;配置见 第 16
篇。 实施任何 setting 变更前,在 staging 用
system.parts / query_log 建立 24h
基线,变更后再对比——避免无证据调参。
第 13 章与系列其它篇章的交叉:读路径见 第 05
篇;merge 见 第 06
篇;索引见 第 07
篇;副本见 第
08 篇;Distributed 见 第
09 篇;监控见 第 14
篇;故障见 第 15
篇;配置见 第 16
篇。 实施任何 setting 变更前,在 staging 用
system.parts / query_log 建立 24h
基线,变更后再对比——避免无证据调参。
第 13 章与系列其它篇章的交叉:读路径见 第 05
篇;merge 见 第 06
篇;索引见 第 07
篇;副本见 第
08 篇;Distributed 见 第
09 篇;监控见 第 14
篇;故障见 第 15
篇;配置见 第 16
篇。 实施任何 setting 变更前,在 staging 用
system.parts / query_log 建立 24h
基线,变更后再对比——避免无证据调参。
第 13 章与系列其它篇章的交叉:读路径见 第 05
篇;merge 见 第 06
篇;索引见 第 07
篇;副本见 第
08 篇;Distributed 见 第
09 篇;监控见 第 14
篇;故障见 第 15
篇;配置见 第 16
篇。 实施任何 setting 变更前,在 staging 用
system.parts / query_log 建立 24h
基线,变更后再对比——避免无证据调参。
第 13 章与系列其它篇章的交叉:读路径见 第 05
篇;merge 见 第 06
篇;索引见 第 07
篇;副本见 第
08 篇;Distributed 见 第
09 篇;监控见 第 14
篇;故障见 第 15
篇;配置见 第 16
篇。 实施任何 setting 变更前,在 staging 用
system.parts / query_log 建立 24h
基线,变更后再对比——避免无证据调参。
第 13 章与系列其它篇章的交叉:读路径见 第 05
篇;merge 见 第 06
篇;索引见 第 07
篇;副本见 第
08 篇;Distributed 见 第
09 篇;监控见 第 14
篇;故障见 第 15
篇;配置见 第 16
篇。 实施任何 setting 变更前,在 staging 用
system.parts / query_log 建立 24h
基线,变更后再对比——避免无证据调参。
第 13 章与系列其它篇章的交叉:读路径见 第 05
篇;merge 见 第 06
篇;索引见 第 07
篇;副本见 第
08 篇;Distributed 见 第
09 篇;监控见 第 14
篇;故障见 第 15
篇;配置见 第 16
篇。 实施任何 setting 变更前,在 staging 用
system.parts / query_log 建立 24h
基线,变更后再对比——避免无证据调参。
第 13 章与系列其它篇章的交叉:读路径见 第 05
篇;merge 见 第 06
篇;索引见 第 07
篇;副本见 第
08 篇;Distributed 见 第
09 篇;监控见 第 14
篇;故障见 第 15
篇;配置见 第 16
篇。 实施任何 setting 变更前,在 staging 用
system.parts / query_log 建立 24h
基线,变更后再对比——避免无证据调参。
第 13 章与系列其它篇章的交叉:读路径见 第 05
篇;merge 见 第 06
篇;索引见 第 07
篇;副本见 第
08 篇;Distributed 见 第
09 篇;监控见 第 14
篇;故障见 第 15
篇;配置见 第 16
篇。 实施任何 setting 变更前,在 staging 用
system.parts / query_log 建立 24h
基线,变更后再对比——避免无证据调参。
第 13 章与系列其它篇章的交叉:读路径见 第 05
篇;merge 见 第 06
篇;索引见 第 07
篇;副本见 第
08 篇;Distributed 见 第
09 篇;监控见 第 14
篇;故障见 第 15
篇;配置见 第 16
篇。 实施任何 setting 变更前,在 staging 用
system.parts / query_log 建立 24h
基线,变更后再对比——避免无证据调参。
第 13 章与系列其它篇章的交叉:读路径见 第 05
篇;merge 见 第 06
篇;索引见 第 07
篇;副本见 第
08 篇;Distributed 见 第
09 篇;监控见 第 14
篇;故障见 第 15
篇;配置见 第 16
篇。 实施任何 setting 变更前,在 staging 用
system.parts / query_log 建立 24h
基线,变更后再对比——避免无证据调参。
第 13 章与系列其它篇章的交叉:读路径见 第 05
篇;merge 见 第 06
篇;索引见 第 07
篇;副本见 第
08 篇;Distributed 见 第
09 篇;监控见 第 14
篇;故障见 第 15
篇;配置见 第 16
篇。 实施任何 setting 变更前,在 staging 用
system.parts / query_log 建立 24h
基线,变更后再对比——避免无证据调参。
第 13 章与系列其它篇章的交叉:读路径见 第 05
篇;merge 见 第 06
篇;索引见 第 07
篇;副本见 第
08 篇;Distributed 见 第
09 篇;监控见 第 14
篇;故障见 第 15
篇;配置见 第 16
篇。 实施任何 setting 变更前,在 staging 用
system.parts / query_log 建立 24h
基线,变更后再对比——避免无证据调参。
第 13 章与系列其它篇章的交叉:读路径见 第 05
篇;merge 见 第 06
篇;索引见 第 07
篇;副本见 第
08 篇;Distributed 见 第
09 篇;监控见 第 14
篇;故障见 第 15
篇;配置见 第 16
篇。 实施任何 setting 变更前,在 staging 用
system.parts / query_log 建立 24h
基线,变更后再对比——避免无证据调参。
第 13 章与系列其它篇章的交叉:读路径见 第 05
篇;merge 见 第 06
篇;索引见 第 07
篇;副本见 第
08 篇;Distributed 见 第
09 篇;监控见 第 14
篇;故障见 第 15
篇;配置见 第 16
篇。 实施任何 setting 变更前,在 staging 用
system.parts / query_log 建立 24h
基线,变更后再对比——避免无证据调参。
第 13 章与系列其它篇章的交叉:读路径见 第 05
篇;merge 见 第 06
篇;索引见 第 07
篇;副本见 第
08 篇;Distributed 见 第
09 篇;监控见 第 14
篇;故障见 第 15
篇;配置见 第 16
篇。 实施任何 setting 变更前,在 staging 用
system.parts / query_log 建立 24h
基线,变更后再对比——避免无证据调参。
第 13 章与系列其它篇章的交叉:读路径见 第 05
篇;merge 见 第 06
篇;索引见 第 07
篇;副本见 第
08 篇;Distributed 见 第
09 篇;监控见 第 14
篇;故障见 第 15
篇;配置见 第 16
篇。 实施任何 setting 变更前,在 staging 用
system.parts / query_log 建立 24h
基线,变更后再对比——避免无证据调参。
第 13 章与系列其它篇章的交叉:读路径见 第 05
篇;merge 见 第 06
篇;索引见 第 07
篇;副本见 第
08 篇;Distributed 见 第
09 篇;监控见 第 14
篇;故障见 第 15
篇;配置见 第 16
篇。 实施任何 setting 变更前,在 staging 用
system.parts / query_log 建立 24h
基线,变更后再对比——避免无证据调参。
第 13 章与系列其它篇章的交叉:读路径见 第 05
篇;merge 见 第 06
篇;索引见 第 07
篇;副本见 第
08 篇;Distributed 见 第
09 篇;监控见 第 14
篇;故障见 第 15
篇;配置见 第 16
篇。 实施任何 setting 变更前,在 staging 用
system.parts / query_log 建立 24h
基线,变更后再对比——避免无证据调参。
第 13 章与系列其它篇章的交叉:读路径见 第 05
篇;merge 见 第 06
篇;索引见 第 07
篇;副本见 第
08 篇;Distributed 见 第
09 篇;监控见 第 14
篇;故障见 第 15
篇;配置见 第 16
篇。 实施任何 setting 变更前,在 staging 用
system.parts / query_log 建立 24h
基线,变更后再对比——避免无证据调参。
| 检查项 | 说明 | 关联篇章 |
|---|---|---|
| 机制 | 规模:十亿行集群 在 ClickHouse 24.x 中的默认行为 | 第 05 篇 |
| 运维 | staging 用 system.parts /
query_log 建 24h 基线 |
第 14 篇 |
| 故障 | 与 parts/merge 相关的典型信号 | 第 15 篇 |
| 配置 | 相关 setting 变更须可回滚 | 第 16 篇 |
flowchart LR
Q[查询/写入] --> P[parts 状态]
P --> M[merge 后台]
M --> MON[system.merges]
MON --> CFG[配置调优]
| 检查项 | 说明 | 关联篇章 |
|---|---|---|
| 机制 | 并发:数百查询 在 ClickHouse 24.x 中的默认行为 | 第 05 篇 |
| 运维 | staging 用 system.parts /
query_log 建 24h 基线 |
第 14 篇 |
| 故障 | 与 parts/merge 相关的典型信号 | 第 15 篇 |
| 配置 | 相关 setting 变更须可回滚 | 第 16 篇 |
flowchart LR
Q[查询/写入] --> P[parts 状态]
P --> M[merge 后台]
M --> MON[system.merges]
MON --> CFG[配置调优]
| 检查项 | 说明 | 关联篇章 |
|---|---|---|
| 机制 | 嵌入:进程内分析 在 ClickHouse 24.x 中的默认行为 | 第 05 篇 |
| 运维 | staging 用 system.parts /
query_log 建 24h 基线 |
第 14 篇 |
| 故障 | 与 parts/merge 相关的典型信号 | 第 15 篇 |
| 配置 | 相关 setting 变更须可回滚 | 第 16 篇 |
flowchart LR
Q[查询/写入] --> P[parts 状态]
P --> M[merge 后台]
M --> MON[system.merges]
MON --> CFG[配置调优]
| 检查项 | 说明 | 关联篇章 |
|---|---|---|
| 机制 | 联邦:pg_duckdb 在 ClickHouse 24.x 中的默认行为 | 第 05 篇 |
| 运维 | staging 用 system.parts /
query_log 建 24h 基线 |
第 14 篇 |
| 故障 | 与 parts/merge 相关的典型信号 | 第 15 篇 |
| 配置 | 相关 setting 变更须可回滚 | 第 16 篇 |
flowchart LR
Q[查询/写入] --> P[parts 状态]
P --> M[merge 后台]
M --> MON[system.merges]
MON --> CFG[配置调优]
| 检查项 | 说明 | 关联篇章 |
|---|---|---|
| 机制 | 运维:parts 与 merge 在 ClickHouse 24.x 中的默认行为 | 第 05 篇 |
| 运维 | staging 用 system.parts /
query_log 建 24h 基线 |
第 14 篇 |
| 故障 | 与 parts/merge 相关的典型信号 | 第 15 篇 |
| 配置 | 相关 setting 变更须可回滚 | 第 16 篇 |
flowchart LR
Q[查询/写入] --> P[parts 状态]
P --> M[merge 后台]
M --> MON[system.merges]
MON --> CFG[配置调优]
| 检查项 | 说明 | 关联篇章 |
|---|---|---|
| 机制 | 成本:云托管 在 ClickHouse 24.x 中的默认行为 | 第 05 篇 |
| 运维 | staging 用 system.parts /
query_log 建 24h 基线 |
第 14 篇 |
| 故障 | 与 parts/merge 相关的典型信号 | 第 15 篇 |
| 配置 | 相关 setting 变更须可回滚 | 第 16 篇 |
flowchart LR
Q[查询/写入] --> P[parts 状态]
P --> M[merge 后台]
M --> MON[system.merges]
MON --> CFG[配置调优]
| 检查项 | 说明 | 关联篇章 |
|---|---|---|
| 机制 | 延迟:点查 vs 扫描 在 ClickHouse 24.x 中的默认行为 | 第 05 篇 |
| 运维 | staging 用 system.parts /
query_log 建 24h 基线 |
第 14 篇 |
| 故障 | 与 parts/merge 相关的典型信号 | 第 15 篇 |
| 配置 | 相关 setting 变更须可回滚 | 第 16 篇 |
flowchart LR
Q[查询/写入] --> P[parts 状态]
P --> M[merge 后台]
M --> MON[system.merges]
MON --> CFG[配置调优]
| 检查项 | 说明 | 关联篇章 |
|---|---|---|
| 机制 | 更新:mutation 代价 在 ClickHouse 24.x 中的默认行为 | 第 05 篇 |
| 运维 | staging 用 system.parts /
query_log 建 24h 基线 |
第 14 篇 |
| 故障 | 与 parts/merge 相关的典型信号 | 第 15 篇 |
| 配置 | 相关 setting 变更须可回滚 | 第 16 篇 |
flowchart LR
Q[查询/写入] --> P[parts 状态]
P --> M[merge 后台]
M --> MON[system.merges]
MON --> CFG[配置调优]
| 检查项 | 说明 | 关联篇章 |
|---|---|---|
| 机制 | 副本:Keeper 协调 在 ClickHouse 24.x 中的默认行为 | 第 05 篇 |
| 运维 | staging 用 system.parts /
query_log 建 24h 基线 |
第 14 篇 |
| 故障 | 与 parts/merge 相关的典型信号 | 第 15 篇 |
| 配置 | 相关 setting 变更须可回滚 | 第 16 篇 |
flowchart LR
Q[查询/写入] --> P[parts 状态]
P --> M[merge 后台]
M --> MON[system.merges]
MON --> CFG[配置调优]
| 检查项 | 说明 | 关联篇章 |
|---|---|---|
| 机制 | 安全:网络暴露面 在 ClickHouse 24.x 中的默认行为 | 第 05 篇 |
| 运维 | staging 用 system.parts /
query_log 建 24h 基线 |
第 14 篇 |
| 故障 | 与 parts/merge 相关的典型信号 | 第 15 篇 |
| 配置 | 相关 setting 变更须可回滚 | 第 16 篇 |
flowchart LR
Q[查询/写入] --> P[parts 状态]
P --> M[merge 后台]
M --> MON[system.merges]
MON --> CFG[配置调优]
| 检查项 | 说明 | 关联篇章 |
|---|---|---|
| 机制 | 生态:BI 连接 在 ClickHouse 24.x 中的默认行为 | 第 05 篇 |
| 运维 | staging 用 system.parts /
query_log 建 24h 基线 |
第 14 篇 |
| 故障 | 与 parts/merge 相关的典型信号 | 第 15 篇 |
| 配置 | 相关 setting 变更须可回滚 | 第 16 篇 |
flowchart LR
Q[查询/写入] --> P[parts 状态]
P --> M[merge 后台]
M --> MON[system.merges]
MON --> CFG[配置调优]
| 检查项 | 说明 | 关联篇章 |
|---|---|---|
| 机制 | SQL 方言差异 在 ClickHouse 24.x 中的默认行为 | 第 05 篇 |
| 运维 | staging 用 system.parts /
query_log 建 24h 基线 |
第 14 篇 |
| 故障 | 与 parts/merge 相关的典型信号 | 第 15 篇 |
| 配置 | 相关 setting 变更须可回滚 | 第 16 篇 |
flowchart LR
Q[查询/写入] --> P[parts 状态]
P --> M[merge 后台]
M --> MON[system.merges]
MON --> CFG[配置调优]
| 检查项 | 说明 | 关联篇章 |
|---|---|---|
| 机制 | 时序:Gorilla 编码 在 ClickHouse 24.x 中的默认行为 | 第 05 篇 |
| 运维 | staging 用 system.parts /
query_log 建 24h 基线 |
第 14 篇 |
| 故障 | 与 parts/merge 相关的典型信号 | 第 15 篇 |
| 配置 | 相关 setting 变更须可回滚 | 第 16 篇 |
flowchart LR
Q[查询/写入] --> P[parts 状态]
P --> M[merge 后台]
M --> MON[system.merges]
MON --> CFG[配置调优]
| 检查项 | 说明 | 关联篇章 |
|---|---|---|
| 机制 | 地理:分布式 JOIN 在 ClickHouse 24.x 中的默认行为 | 第 05 篇 |
| 运维 | staging 用 system.parts /
query_log 建 24h 基线 |
第 14 篇 |
| 故障 | 与 parts/merge 相关的典型信号 | 第 15 篇 |
| 配置 | 相关 setting 变更须可回滚 | 第 16 篇 |
flowchart LR
Q[查询/写入] --> P[parts 状态]
P --> M[merge 后台]
M --> MON[system.merges]
MON --> CFG[配置调优]
| 检查项 | 说明 | 关联篇章 |
|---|---|---|
| 机制 | 日志:Kafka ingest 在 ClickHouse 24.x 中的默认行为 | 第 05 篇 |
| 运维 | staging 用 system.parts /
query_log 建 24h 基线 |
第 14 篇 |
| 故障 | 与 parts/merge 相关的典型信号 | 第 15 篇 |
| 配置 | 相关 setting 变更须可回滚 | 第 16 篇 |
flowchart LR
Q[查询/写入] --> P[parts 状态]
P --> M[merge 后台]
M --> MON[system.merges]
MON --> CFG[配置调优]
| 检查项 | 说明 | 关联篇章 |
|---|---|---|
| 机制 | 数据科学:Python API 在 ClickHouse 24.x 中的默认行为 | 第 05 篇 |
| 运维 | staging 用 system.parts /
query_log 建 24h 基线 |
第 14 篇 |
| 故障 | 与 parts/merge 相关的典型信号 | 第 15 篇 |
| 配置 | 相关 setting 变更须可回滚 | 第 16 篇 |
flowchart LR
Q[查询/写入] --> P[parts 状态]
P --> M[merge 后台]
M --> MON[system.merges]
MON --> CFG[配置调优]
| 检查项 | 说明 | 关联篇章 |
|---|---|---|
| 机制 | HTAP 边界 在 ClickHouse 24.x 中的默认行为 | 第 05 篇 |
| 运维 | staging 用 system.parts /
query_log 建 24h 基线 |
第 14 篇 |
| 故障 | 与 parts/merge 相关的典型信号 | 第 15 篇 |
| 配置 | 相关 setting 变更须可回滚 | 第 16 篇 |
flowchart LR
Q[查询/写入] --> P[parts 状态]
P --> M[merge 后台]
M --> MON[system.merges]
MON --> CFG[配置调优]
| 检查项 | 说明 | 关联篇章 |
|---|---|---|
| 机制 | SQLite 替代 在 ClickHouse 24.x 中的默认行为 | 第 05 篇 |
| 运维 | staging 用 system.parts /
query_log 建 24h 基线 |
第 14 篇 |
| 故障 | 与 parts/merge 相关的典型信号 | 第 15 篇 |
| 配置 | 相关 setting 变更须可回滚 | 第 16 篇 |
flowchart LR
Q[查询/写入] --> P[parts 状态]
P --> M[merge 后台]
M --> MON[system.merges]
MON --> CFG[配置调优]
| 检查项 | 说明 | 关联篇章 |
|---|---|---|
| 机制 | ClickHouse Cloud 在 ClickHouse 24.x 中的默认行为 | 第 05 篇 |
| 运维 | staging 用 system.parts /
query_log 建 24h 基线 |
第 14 篇 |
| 故障 | 与 parts/merge 相关的典型信号 | 第 15 篇 |
| 配置 | 相关 setting 变更须可回滚 | 第 16 篇 |
flowchart LR
Q[查询/写入] --> P[parts 状态]
P --> M[merge 后台]
M --> MON[system.merges]
MON --> CFG[配置调优]
| 检查项 | 说明 | 关联篇章 |
|---|---|---|
| 机制 | MotherDuck 在 ClickHouse 24.x 中的默认行为 | 第 05 篇 |
| 运维 | staging 用 system.parts /
query_log 建 24h 基线 |
第 14 篇 |
| 故障 | 与 parts/merge 相关的典型信号 | 第 15 篇 |
| 配置 | 相关 setting 变更须可回滚 | 第 16 篇 |
flowchart LR
Q[查询/写入] --> P[parts 状态]
P --> M[merge 后台]
M --> MON[system.merges]
MON --> CFG[配置调优]
| 检查项 | 说明 | 关联篇章 |
|---|---|---|
| 机制 | 决策树:先问部署形态 在 ClickHouse 24.x 中的默认行为 | 第 05 篇 |
| 运维 | staging 用 system.parts /
query_log 建 24h 基线 |
第 14 篇 |
| 故障 | 与 parts/merge 相关的典型信号 | 第 15 篇 |
| 配置 | 相关 setting 变更须可回滚 | 第 16 篇 |
flowchart LR
Q[查询/写入] --> P[parts 状态]
P --> M[merge 后台]
M --> MON[system.merges]
MON --> CFG[配置调优]
| 检查项 | 说明 | 关联篇章 |
|---|---|---|
| 机制 | 决策树:再问并发 在 ClickHouse 24.x 中的默认行为 | 第 05 篇 |
| 运维 | staging 用 system.parts /
query_log 建 24h 基线 |
第 14 篇 |
| 故障 | 与 parts/merge 相关的典型信号 | 第 15 篇 |
| 配置 | 相关 setting 变更须可回滚 | 第 16 篇 |
flowchart LR
Q[查询/写入] --> P[parts 状态]
P --> M[merge 后台]
M --> MON[system.merges]
MON --> CFG[配置调优]
| 检查项 | 说明 | 关联篇章 |
|---|---|---|
| 机制 | 决策树:最后问联邦 在 ClickHouse 24.x 中的默认行为 | 第 05 篇 |
| 运维 | staging 用 system.parts /
query_log 建 24h 基线 |
第 14 篇 |
| 故障 | 与 parts/merge 相关的典型信号 | 第 15 篇 |
| 配置 | 相关 setting 变更须可回滚 | 第 16 篇 |
flowchart LR
Q[查询/写入] --> P[parts 状态]
P --> M[merge 后台]
M --> MON[system.merges]
MON --> CFG[配置调优]
| 检查项 | 说明 | 关联篇章 |
|---|---|---|
| 机制 | 混合架构:CH 仓 + DuckDB 探索 在 ClickHouse 24.x 中的默认行为 | 第 05 篇 |
| 运维 | staging 用 system.parts /
query_log 建 24h 基线 |
第 14 篇 |
| 故障 | 与 parts/merge 相关的典型信号 | 第 15 篇 |
| 配置 | 相关 setting 变更须可回滚 | 第 16 篇 |
flowchart LR
Q[查询/写入] --> P[parts 状态]
P --> M[merge 后台]
M --> MON[system.merges]
MON --> CFG[配置调优]
| 检查项 | 说明 | 关联篇章 |
|---|---|---|
| 机制 | 不排名原则 在 ClickHouse 24.x 中的默认行为 | 第 05 篇 |
| 运维 | staging 用 system.parts /
query_log 建 24h 基线 |
第 14 篇 |
| 故障 | 与 parts/merge 相关的典型信号 | 第 15 篇 |
| 配置 | 相关 setting 变更须可回滚 | 第 16 篇 |
flowchart LR
Q[查询/写入] --> P[parts 状态]
P --> M[merge 后台]
M --> MON[system.merges]
MON --> CFG[配置调优]
| 检查项 | 说明 | 关联篇章 |
|---|---|---|
| 机制 | 规模:十亿行集群 在 ClickHouse 24.x 中的默认行为 | 第 05 篇 |
| 运维 | staging 用 system.parts /
query_log 建 24h 基线 |
第 14 篇 |
| 故障 | 与 parts/merge 相关的典型信号 | 第 15 篇 |
| 配置 | 相关 setting 变更须可回滚 | 第 16 篇 |
flowchart LR
Q[查询/写入] --> P[parts 状态]
P --> M[merge 后台]
M --> MON[system.merges]
MON --> CFG[配置调优]
| 检查项 | 说明 | 关联篇章 |
|---|---|---|
| 机制 | 并发:数百查询 在 ClickHouse 24.x 中的默认行为 | 第 05 篇 |
| 运维 | staging 用 system.parts /
query_log 建 24h 基线 |
第 14 篇 |
| 故障 | 与 parts/merge 相关的典型信号 | 第 15 篇 |
| 配置 | 相关 setting 变更须可回滚 | 第 16 篇 |
flowchart LR
Q[查询/写入] --> P[parts 状态]
P --> M[merge 后台]
M --> MON[system.merges]
MON --> CFG[配置调优]
| 检查项 | 说明 | 关联篇章 |
|---|---|---|
| 机制 | 嵌入:进程内分析 在 ClickHouse 24.x 中的默认行为 | 第 05 篇 |
| 运维 | staging 用 system.parts /
query_log 建 24h 基线 |
第 14 篇 |
| 故障 | 与 parts/merge 相关的典型信号 | 第 15 篇 |
| 配置 | 相关 setting 变更须可回滚 | 第 16 篇 |
flowchart LR
Q[查询/写入] --> P[parts 状态]
P --> M[merge 后台]
M --> MON[system.merges]
MON --> CFG[配置调优]
| 检查项 | 说明 | 关联篇章 |
|---|---|---|
| 机制 | 联邦:pg_duckdb 在 ClickHouse 24.x 中的默认行为 | 第 05 篇 |
| 运维 | staging 用 system.parts /
query_log 建 24h 基线 |
第 14 篇 |
| 故障 | 与 parts/merge 相关的典型信号 | 第 15 篇 |
| 配置 | 相关 setting 变更须可回滚 | 第 16 篇 |
flowchart LR
Q[查询/写入] --> P[parts 状态]
P --> M[merge 后台]
M --> MON[system.merges]
MON --> CFG[配置调优]
| 检查项 | 说明 | 关联篇章 |
|---|---|---|
| 机制 | 运维:parts 与 merge 在 ClickHouse 24.x 中的默认行为 | 第 05 篇 |
| 运维 | staging 用 system.parts /
query_log 建 24h 基线 |
第 14 篇 |
| 故障 | 与 parts/merge 相关的典型信号 | 第 15 篇 |
| 配置 | 相关 setting 变更须可回滚 | 第 16 篇 |
flowchart LR
Q[查询/写入] --> P[parts 状态]
P --> M[merge 后台]
M --> MON[system.merges]
MON --> CFG[配置调优]
| 检查项 | 说明 | 关联篇章 |
|---|---|---|
| 机制 | 成本:云托管 在 ClickHouse 24.x 中的默认行为 | 第 05 篇 |
| 运维 | staging 用 system.parts /
query_log 建 24h 基线 |
第 14 篇 |
| 故障 | 与 parts/merge 相关的典型信号 | 第 15 篇 |
| 配置 | 相关 setting 变更须可回滚 | 第 16 篇 |
flowchart LR
Q[查询/写入] --> P[parts 状态]
P --> M[merge 后台]
M --> MON[system.merges]
MON --> CFG[配置调优]
| 检查项 | 说明 | 关联篇章 |
|---|---|---|
| 机制 | 延迟:点查 vs 扫描 在 ClickHouse 24.x 中的默认行为 | 第 05 篇 |
| 运维 | staging 用 system.parts /
query_log 建 24h 基线 |
第 14 篇 |
| 故障 | 与 parts/merge 相关的典型信号 | 第 15 篇 |
| 配置 | 相关 setting 变更须可回滚 | 第 16 篇 |
flowchart LR
Q[查询/写入] --> P[parts 状态]
P --> M[merge 后台]
M --> MON[system.merges]
MON --> CFG[配置调优]
| 检查项 | 说明 | 关联篇章 |
|---|---|---|
| 机制 | 更新:mutation 代价 在 ClickHouse 24.x 中的默认行为 | 第 05 篇 |
| 运维 | staging 用 system.parts /
query_log 建 24h 基线 |
第 14 篇 |
| 故障 | 与 parts/merge 相关的典型信号 | 第 15 篇 |
| 配置 | 相关 setting 变更须可回滚 | 第 16 篇 |
flowchart LR
Q[查询/写入] --> P[parts 状态]
P --> M[merge 后台]
M --> MON[system.merges]
MON --> CFG[配置调优]
| 检查项 | 说明 | 关联篇章 |
|---|---|---|
| 机制 | 副本:Keeper 协调 在 ClickHouse 24.x 中的默认行为 | 第 05 篇 |
| 运维 | staging 用 system.parts /
query_log 建 24h 基线 |
第 14 篇 |
| 故障 | 与 parts/merge 相关的典型信号 | 第 15 篇 |
| 配置 | 相关 setting 变更须可回滚 | 第 16 篇 |
flowchart LR
Q[查询/写入] --> P[parts 状态]
P --> M[merge 后台]
M --> MON[system.merges]
MON --> CFG[配置调优]
| 检查项 | 说明 | 关联篇章 |
|---|---|---|
| 机制 | 安全:网络暴露面 在 ClickHouse 24.x 中的默认行为 | 第 05 篇 |
| 运维 | staging 用 system.parts /
query_log 建 24h 基线 |
第 14 篇 |
| 故障 | 与 parts/merge 相关的典型信号 | 第 15 篇 |
| 配置 | 相关 setting 变更须可回滚 | 第 16 篇 |
flowchart LR
Q[查询/写入] --> P[parts 状态]
P --> M[merge 后台]
M --> MON[system.merges]
MON --> CFG[配置调优]
| 检查项 | 说明 | 关联篇章 |
|---|---|---|
| 机制 | 生态:BI 连接 在 ClickHouse 24.x 中的默认行为 | 第 05 篇 |
| 运维 | staging 用 system.parts /
query_log 建 24h 基线 |
第 14 篇 |
| 故障 | 与 parts/merge 相关的典型信号 | 第 15 篇 |
| 配置 | 相关 setting 变更须可回滚 | 第 16 篇 |
flowchart LR
Q[查询/写入] --> P[parts 状态]
P --> M[merge 后台]
M --> MON[system.merges]
MON --> CFG[配置调优]
| 检查项 | 说明 | 关联篇章 |
|---|---|---|
| 机制 | SQL 方言差异 在 ClickHouse 24.x 中的默认行为 | 第 05 篇 |
| 运维 | staging 用 system.parts /
query_log 建 24h 基线 |
第 14 篇 |
| 故障 | 与 parts/merge 相关的典型信号 | 第 15 篇 |
| 配置 | 相关 setting 变更须可回滚 | 第 16 篇 |
flowchart LR
Q[查询/写入] --> P[parts 状态]
P --> M[merge 后台]
M --> MON[system.merges]
MON --> CFG[配置调优]
| 检查项 | 说明 | 关联篇章 |
|---|---|---|
| 机制 | 时序:Gorilla 编码 在 ClickHouse 24.x 中的默认行为 | 第 05 篇 |
| 运维 | staging 用 system.parts /
query_log 建 24h 基线 |
第 14 篇 |
| 故障 | 与 parts/merge 相关的典型信号 | 第 15 篇 |
| 配置 | 相关 setting 变更须可回滚 | 第 16 篇 |
flowchart LR
Q[查询/写入] --> P[parts 状态]
P --> M[merge 后台]
M --> MON[system.merges]
MON --> CFG[配置调优]
上一篇:DuckDB Pipeline
下一篇:监控与系统表
把当前热点继续串成多页阅读,而不是停在单篇消费。
2026-06-18 · database / architecture
DuckDB 进程内嵌入式模型、Storage 的 Row Group 与 Column Segment、Catalog 与 checkpoint;与 ClickHouse Server 部署差异及 pg_duckdb 联邦场景边界。
2026-06-18 · database / architecture
ClickHouse Materialized View 的触发语义、块级增量与目标表引擎选择;Kafka Engine + MV 典型架构;与 PostgreSQL 触发器/MV 的对照及常见坑。
2026-06-18 · database / architecture
DuckDB 向量批执行、morsel-driven 并行、Pipeline 调度与 spill;源码 execution/parallel 路径;对照 ClickHouse Processors 与 PG volcano 模型。
2026-06-18 · database / architecture
Too many parts、merge 跟不上 insert、mutation 堆积、副本延迟与 lost replica、max_memory_usage OOM 的症状链、根因与缓解;附测试环境复现框架。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。