DuckDB - 一款嵌入式关系型 OLAP 数据库管理系统

📅 2026/8/1 11:37:36
DuckDB - 一款嵌入式关系型 OLAP 数据库管理系统
DuckDB, the SQLite for Analytics文章目录DuckDB 简介安装指南Python 中安装 DuckDBR 中安装 DuckDB源码安装相关链接DuckDB 简介DuckDB 是一款嵌入式数据库主要用于嵌入其他程序执行快速的 SQL 分析查询官方称其为“分析型数据库中的 SQLite”。DuckDB 易于安装和使用没有外部依赖同时提供了 C/C、Python 以及 R 的语言绑定。DuckDB 由荷兰 Centrum Wiskunde Informatica 的数据库架构组开发他们还开发了 MonetDB一款开源的列式存储数据库。DuckDB 采用 MIT 开源协议并且在 GitHub 上开放了源代码。DuckDB 于 2019 年 6 月 27日首次发布了官方的 0.1 发布版。安装指南Python 中安装 DuckDB使用以下命令在 Python 中安装 DuckDB目前支持 Python 3pip install duckdb在 Python 中使用 DuckDB 需要安装numpy。完成安装之后可以按照以下方式使用 DuckDBimportduckdb cursorduckdb.connect(:memory:).cursor()print(cursor.execute(SELECT 42).fetchall())R 中安装 DuckDB使用以下命令在 R 环境中安装 DuckDBremotes::install_github(cwida/duckdb/tools/rpkg, build FALSE)在 R 中使用 DuckDB 需要安装remotes。如果使用 Windows还需要安装Rtools。完成安装之后可以按照以下方式使用 DuckDBlibrary(DBI)con-dbConnect(duckdb::duckdb(),:memory:)dbWriteTable(con,iris,iris)dbGetQuery(con,SELECT Species, MIN(Sepal.Width) FROM iris GROUP BY Species)源码安装DuckDB 源码可以在 GitHub 上进行下载。DuckDB 安装需要使用 CMake 以及可以兼容 C11 的编译器。每次官方修订都会针对 GCC 4.9 及更高版本、Clang 3.9 及更高版本以及 VisualStudio 2017 进行测试。编译在代码根目录下运行make进行编译。对于开发者使用make debug构建一个非优化的调试版本。你可以在每次修改之后运行make unit和make allunit进行验证。对于不支持 GNU Make 的系统例如 Windows可以直接使用CMake为编译器或者 IDE例如 Visual Studio 生成项目文件。使用DuckDB 提供乐意一个基于 sqlite3 的命令行工具。对于发布版默认该工具位于 build/release/tools/shell/shell对于调试版位于 build/debug/tools/shell/shell。嵌入应用DuckDB 是一款嵌入式数据库不需要启动数据库服务器也不需要使用客户端连接服务器。不过可以使用 C 或 C 绑定将数据库服务器直接嵌入应用程序。主构建程序将会创建共享链接库 build/release/src/libduckdb.[so|dylib|dll]同时也会创建一个静态链接库。代码库中的 examples 目录给出了一些如何在应用程序中嵌入 DuckDB 的示例。相关链接官方网站GitHub