DuckDB
开源的分析型 SQL 数据库,可嵌入进程内运行,直接读写 CSV、Parquet、Iceberg 等格式,供数据分析师和开发者做本地与云端查询。

DuckDB 是一个分析型 SQL 数据库,和常见的数据库服务不同,它可以直接嵌进你的程序或命令行里运行,不需要单独架一台服务器。官网把它称作「通用的数据整理工具」:把散落在 CSV、JSON、Parquet 里的数据读进来,用 SQL 做聚合、关联和统计,再把结果写回去。它采用 PostgreSQL 风格的查询语法,写过 Postgres 的人上手基本不用重新学。
主要能力
它支持直接读写 CSV、JSON、Parquet、Iceberg 等格式,文件放在本地磁盘或对象存储里都能查。扩展机制可以引入新函数和新格式支持,地理空间、Excel、Avro、Arrow 等都有对应扩展。官方提供 Python、Go、Java、Node.js、Rust、ODBC 等语言的客户端,命令行工具也能一条命令装上。
除了单机使用,DuckDB 还配了 Quack 客户端-服务器协议,客户端和服务端都是完整的 DuckDB 实例,因此既能访问远程库,也能在本地做计算。DuckLake 则是它基于 SQL 的湖仓格式,把数据放在对象存储、用 SQL 数据库做目录。
适合谁
做数据清洗和临时分析的人,比如把几个大 CSV 拼起来算指标,用 DuckDB 比开一套数仓轻便得多。开发者也可以把它当作应用内嵌的分析引擎,在 Python 脚本或桌面程序里直接跑 SQL。官网还列了 DataGrip、DBeaver 等工具的集成案例。
费用与限制
DuckDB 及相关项目采用 MIT 许可,由独立的 DuckDB Foundation 治理,免费且开源。官网当前标注的版本是 2.0.0。它面向分析查询,不是给高并发事务写入用的,这一点在选型时要先想清楚。