Skip to content

前言 ​

DuckDB 正在重新定义"分析型数据库"的部署形态。它不走"起一个服务、连一个集群"的老路,而是把自己做成了一个进程内的嵌入式引擎——一条 pip install duckdb 或一个二进制文件,就能在笔记本、数据管道、边缘设备上直接跑起列式存储与向量化执行的分析查询。当数据规模还没到需要分布式系统的程度、却又远超电子表格所能承受的体量时,DuckDB 恰好卡在那个最舒服的区间:轻量、零运维、对文件与 Arrow 生态天生友好。

本书的由来,是想给中文世界的数据库学习者与从业者一本"既能入门、又能进阶"的 DuckDB 专著。它的内容完全建立在 DuckDB 官方文档的基础之上——我们通读了 v1.5.5 版本的整套文档,并按"由浅入深、面面俱到"的原则重新编排了章节结构。你读到的每一处语法、每一个参数、每一项版本事实,都尽量回溯到官方文档的对应出处;书中也如实标注了哪些能力属于哪个版本(例如 Quack 远程协议于 2026 年 5 月 12 日随 v1.5.3 进入 beta,DuckLake 1.0 于 2026 年 4 月发布,GEOMETRY 类型在 v1.5 成为内置类型)。

全书分为七个部分、共十九章:

  • 第一部分 基础入门(第 1–6 章):从 DuckDB 是什么、怎么装、核心数据类型与 SQL 方言,到建表写数、查询语言与函数表达式,为后续打下地基。
  • 第二部分 数据工程(第 7–8 章):文件直读与数据导出/持久化,这是 DuckDB"以文件为第一公民"理念最直接的体现。
  • 第三部分 客户端与生态集成(第 9–12 章):深入 Python 客户端,概览其余语言绑定,讲解与外部数据库、云存储及远程协议(Quack)的集成。
  • 第四部分 扩展机制(第 13–14 章):扩展的安装/加载/版本绑定,以及 httpfs、postgres、iceberg、spatial、ducklake 等关键扩展的实战。
  • 第五部分 性能与运维(第 15–16 章):配置项调优与运维手册,覆盖生产落地的关键考量。
  • 第六部分 原理剖析(第 17 章):从解析、优化到向量化执行与存储格式,揭开引擎内部。
  • 第七部分 实战与总结(第 18–19 章):应用场景实践,以及对 DuckDB 演进方向的展望。

阅读建议:完全的初学者建议从第 1 章顺序读到第 6 章,把基础打牢;有一定 SQL 或数据库经验的读者,可以跳过前几章的入门铺垫,直接从数据工程或客户端集成部分切入;希望理解引擎"为什么快"的读者,第六部分值得精读。每章末尾都配有"本章小结",便于复习与速查。

书中的代码示例以"可运行、可复现"为第一原则,默认基于 DuckDB v1.5.5;涉及版本差异处均显式标注。建议读者在自己的环境中动手敲一遍代码——DuckDB 的"免服务、单文件"特性,让这种即时实验的成本几乎为零。

最后说明:本书由 AI 辅助文档生成流程编撰而成,内容力求准确、并已尽量对照官方文档核验;但在涉及生产环境的关键决策(如安全加固、并发方案、版本升级)时,仍请以官方文档与社区的最新结论为准。

基于 DuckDB v1.5.5 官方文档整理 · AI 辅助编撰