DuckDB 是什么

DuckDB 官方网站
DuckDB GitHub

DuckDB Labs 的 DuckDB 是一个:

面向 OLAP 的嵌入式列式数据库(Embedded Analytical Database)

可以理解为:

SQLite for Analytics

即:

SQLite DuckDB
行式 OLTP 列式 OLAP
小事务 分析查询
app database analytical engine
单行读写 大规模聚合

DuckDB 最大特点:

无需部署
无需 server
直接嵌入进程
但分析性能接近大型数仓

因此它现在在:

  • AI
  • Data Science
  • Agent
  • Edge Analytics
  • LLM Tooling
  • Notebook
  • ETL
  • 多模态数据处理

里非常火。


DuckDB 核心定位

DuckDB 不是:

MySQL/Postgres 替代品

而是:

本地分析引擎

特别适合:

  • parquet 分析
  • CSV 超大文件分析
  • 日志分析
  • AI embedding metadata
  • Agent memory analytics
  • 边缘侧数据分析

DuckDB 最核心架构

1. 列式存储(Columnar)

DuckDB 内部:

按列存储

例如:

user age country
A 18 SG
B 20 CN

在内存:

user:    A B
age:     18 20
country: SG CN

这样:

SELECT avg(age)

只读取:

age 列

不会扫描整行。

因此:

  • cache locality 极强
  • SIMD 友好
  • 聚合速度极快

2. Vectorized Execution(核心)

DuckDB 最大精华之一。

不是:

一行一行执行

而是:

一批一批 vector 执行

例如:

1024 rows

作为一个 vector。


传统 Volcano Model

next()
next()
next()

大量:

  • function call
  • branch miss
  • cache miss

DuckDB

vectorized pipeline

一次处理:

1024 rows SIMD

类似:

  • Apache Arrow
  • Velox
  • DataFusion
  • ClickHouse

DuckDB 执行模型

Pipeline Execution

DuckDB:

Scan
 → Filter
   → Project
     → Aggregate

形成 pipeline。

并且:

push-based vector execution

减少:

  • materialization
  • malloc/free
  • virtual call

3. 零依赖嵌入式

DuckDB:

import duckdb

即可运行。

不需要:

  • server
  • daemon
  • cluster

不像:

  • ClickHouse
  • Spark
  • Trino

部署复杂。


一个超强特性:直接查 Parquet

这是 DuckDB 爆火核心原因之一。


直接查 parquet

SELECT *
FROM 'data.parquet'
WHERE score > 0.9;

DuckDB:

无需导入
直接查询 parquet

而且:

  • predicate pushdown
  • projection pushdown
  • parallel scan

都支持。


为什么这对 AI 特别重要

因为 AI 系统现在:

大量 parquet

例如:

  • embedding metadata
  • training logs
  • inference traces
  • RL trajectories
  • VLA dataset
  • multimodal metadata

DuckDB 很适合:

本地快速分析

DuckDB + Arrow

DuckDB 原生支持:

Apache Arrow

这非常关键。

因为现代 AI/Data Infra:

Arrow 正在成为统一内存格式

包括:

  • Pandas 2
  • Polars
  • Velox
  • DataFusion
  • Ray
  • Spark
  • PyTorch Data

DuckDB 与 Arrow 零拷贝

DuckDB:

duckdb.sql("SELECT * FROM arrow_table")

支持:

zero-copy

避免:

data serialization

这对:

  • Agent memory
  • RAG metadata
  • embedding analytics

特别重要。


DuckDB 与 Pandas

传统 Pandas 问题

Pandas:

  • 单线程
  • 内存大
  • SQL 差
  • 大文件慢

DuckDB

duckdb.query("""
SELECT country, avg(score)
FROM df
GROUP BY country
""")

直接:

SQL 查询 DataFrame

而且:

  • 多线程
  • SIMD
  • vectorized

通常:

比 pandas 快 10~100 倍

DuckDB 与 Polars

现在非常流行:

Polars + DuckDB

组合。


Polars 擅长

  • dataframe API
  • lazy query
  • Rust expression

DuckDB 擅长

  • SQL optimizer
  • joins
  • parquet analytics

DuckDB Optimizer

DuckDB 有很强:

Cost-based optimizer

支持:

  • predicate pushdown
  • join reorder
  • filter pushdown
  • projection pruning

因此:

SELECT *
FROM huge.parquet
WHERE user_id=1

不会真的扫描全部数据。


DuckDB 为什么对 Agent 很重要

未来 Agent:

不是只做 prompt

而是:

memory + analytics + planning

DuckDB 很适合作为:

Agent Local Analytical Brain

一个非常重要的方向

Agent Memory Analytics

例如:

tool usage
conversation
embedding metadata
task graph
execution traces

DuckDB 非常适合:

实时本地分析

未来 Agent Runtime 架构(很可能)

你现在研究:

  • OpenClaw
  • Fiber Runtime
  • Silk
  • llama.cpp
  • multi-agent

DuckDB 非常适合接进去。


推荐架构

[Agent Runtime]
      ↓
[Task/Event Stream]
      ↓
[DuckDB]
      ↓
[Analytics / Planning / Memory]

在边缘 AI 中的价值

DuckDB 一个巨大优势:

超轻量

非常适合:

  • Jetson
  • Edge box
  • Robot
  • Drone

不像:

  • Spark
  • ClickHouse

太重。


DuckDB + Robotics

机器人系统会产生:

trajectory
sensor log
VLA metadata
task history

DuckDB 很适合:

本地事件分析

DuckDB vs SQLite

特性 SQLite DuckDB
存储 行式 列式
场景 OLTP OLAP
聚合 一般 极强
Parquet 不擅长 原生
SIMD
向量化执行
多线程分析

DuckDB vs ClickHouse

特性 DuckDB ClickHouse
部署 Embedded Server
使用难度 极低
本地分析 极强 一般
分布式
Edge AI 极适合 偏重
Agent runtime 很适合 偏大

DuckDB 内部核心技术

DuckDB 内核其实非常现代。

包括:

  • vectorized execution
  • morsel-driven parallelism
  • adaptive optimizer
  • SIMD scan
  • compressed storage
  • pipeline fusion

很多思想接近:

  • ClickHouse
  • Velox
  • HyPer
  • Umbra

DuckDB 与 HyPer 的关系

DuckDB 作者来自:

CWI
以及:

DuckDB Labs

其很多思想来自:

HyPer

即:

现代内存分析数据库

路线。


DuckDB 在 AI Infra 中正在崛起

越来越多 AI 系统:

不用传统数据库

而:

Parquet + DuckDB

原因:

  • schema 灵活
  • 分析快
  • 极简部署
  • notebook 友好
  • Agent 友好

一个很重要趋势

未来 AI Infra:

OLTP ≠ OLAP

越来越明显。

Agent 系统:

热路径

Redis
RocksDB
SQLite

分析路径

DuckDB
Polars
Arrow

对你当前方向的价值(很高)

你现在方向:

  • Edge Agent
  • Multi-Agent
  • Fiber Runtime
  • llama.cpp
  • Robotics/VLA
  • Runtime Infra

DuckDB 非常值得研究。

尤其:


1. Agent Execution Trace Analytics

SELECT tool, avg(latency)
FROM agent_trace
GROUP BY tool;

2. Tool Call 分析

SELECT *
FROM tool_history
WHERE failure_rate > 0.2;

3. RAG Metadata

分析:

  • embedding
  • retrieval hit
  • memory decay

4. Robotics/VLA

分析:

  • trajectory
  • task success
  • action distribution

5. llama.cpp Server Analytics

统计:

  • token latency
  • batching efficiency
  • KV cache hit

一个非常现代的组合

你现在技术路线很适合:

llama.cpp
    +
Silk Fiber Runtime
    +
mimalloc
    +
DuckDB
    +
Arrow

这是非常前沿的一类:

本地 Agent Operating Stack

方向。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐