- 存储与压缩:百万行秒出,DuckDB 的空间魔法
意义:分析查询吞吐翻倍 + 磁盘占用腰斩。受限环境/磁盘紧张时,DuckDB 是救星。
3 min - CONNECT:DuckDB 2.0 在革'服务器'的命
意义:这是 v2.0(Cyanoptera)的头牌,把 DuckDB 从'嵌入式分析引擎'推向'联邦查询服务器'。
2 min - 扩展机制:给 DuckDB 写点东西其实很爽(也有坑)
坑:扩展 API 跨版本不稳,常要随 DuckDB 重编译;但因为是开源,能看到源码自己补。
2 min - VARIANT:半结构化也能'脏乱差'地存
取舍:灵活牺牲了强类型保证;但换来'先存进来再说,查询时才整形'的从容。
2 min - 联邦查询:让 DuckDB 去读别人的库
取舍:联邦查询有关联开销,适合'低频跨源分析',不适合高频热路径。
2 min - 缓存局部性:连 CPU 缓存它都算计好了
反常识:有时候不是数据集太大,而是你的查询把 CPU 缓存'打爆'了。DuckDB 尽量让每一次 CPU 循环都干实事。
2 min - 一个文件就是一个库:嵌入式零依赖
取舍:单机嵌入式(无内置服务器、单写者)适合分析/开发/嵌入式产品,不适合高并发 OLTP——但它本就不打算干那个活。
2 min - 列存 + 向量化:DuckDB 凭什么'卷'别人
反常识:行式 OLTP 库(MySQL/PostgreSQL)做分析慢,不是它笨,是'摆数据的方式'根本不对。DuckDB 从设计第一天就为分析而活。
3 min
Back