CORE CONCEPTS · 分析型 · 嵌入式 OLAP
DuckDB 核心知识
DuckDB 把列式向量化分析带进单个进程。学习重点是文件扫描、向量化执行、内存/溢写和扩展安全。
学完应该能做到
- 能直接查询 Parquet 并利用裁剪
- 能控制内存与临时目录
- 能理解嵌入式并发边界
三个必须建立的心智模型
向量化执行
算子按数据块处理列向量,减少函数调用和缓存浪费,适合聚合与扫描。
- 观察 EXPLAIN ANALYZE
- 避免逐行 UDF
- 利用并行扫描
文件即数据源
CSV、Parquet、JSON、Arrow 可直接参与 SQL;投影和谓词下推决定读取量。
- 优先 Parquet
- 核对远程对象存储凭证
- 避免自动类型推断误判
嵌入式运行
DuckDB 与应用共享进程资源,不提供独立多租户服务器语义。
- 限制 memory_limit
- 设置 temp_directory
- 连接级并发要符合宿主模型
把知识落到工程决策
建模前
先写出访问模式、正确性边界、数据生命周期和故障预算,再决定表、键、索引或分区。
上线前
使用接近生产的数据分布与并发压测,记录查询计划、资源水位和恢复时间作为基线。
运行中
监控延迟分位数、容量增长、后台维护与复制健康;报警必须能映射到可执行处置步骤。