七万号·数据平台实战手记

Back

① 标题党#

主标题DuckDB 把整个数据库塞进一个文件?还跑得飞快 备选A没有服务器、没有端口,一个文件就是你的数据湖 备选B(短视频)你的库,只有一个文件那么大

② 开场钩子#

传统数据库要有服务、有端口、要安装客户端。DuckDB 却告诉我:你要的库,备份一下就是一个文件。这背后是它”嵌入式”的野心。

③ 主角特性:嵌入式 / 单文件存储#

  • 嵌入式:DuckDB 跑在你的进程里,不单独起服务,Python/Rust/Java 直接 import 调用,零部署。
  • 单文件:整个库就是一个 .duckdb 文件。拷走这个文件,你的数据就跟手走。
  • 支持内存模式(:memory:)临时分析 + 磁盘模式持久化。

取舍:单机嵌入式(无内置服务器、单写者)适合分析/开发/嵌入式产品,不适合高并发 OLTP——但它本就不打算干那个活。

④ 最小可复现#

# Python 里直接连一个文件库,不装服务
python3 -c "import duckdb; duckdb.sql('create table t as select 42 as x'); duckdb.sql('copy t to \"db.parquet\"')"
# db.parquet 拷走,数据跟手走
bash

⑤ 结论#

DuckDB 把”数据库”从”要伺候的服务”变成了”一个随取随用的文件”。嵌入式的爽,用过就回不去。

⑥ 配图脚本#

服务式 vs 嵌入式架构对比 / 单文件拖走示意 / 各语言 import / 结论卡


一个文件就是一个库:嵌入式零依赖
https://realcpf.tech/blog/duckdb-02
Author 刘佳成
Published at 2026年9月3日