在线工具 编程开发

DuckDB

DuckDB is a SQL OLAP database management system. Simple, feature-rich, fast & open source.

标签:

网站截图

DuckDB - 嵌入式SQL分析数据库

网站简介

DuckDB是一个开源的SQL联机分析处理(OLAP)数据库管理系统,以简单、功能丰富、快速和开源为核心特点。它采用嵌入式设计,无需运行独立的数据库服务器,而是直接嵌入到宿主应用程序中运行。DuckDB支持从边缘设备到具有数百核的服务器部署,旨在简化数据处理和分析流程,适用于数据科学、数据分析、ETL、湖仓架构等多种场景。

主要功能

  • SQL查询引擎:提供类似PostgreSQL的表达式丰富、表达力强的SQL方言,支持聚合查询、连接查询、窗口函数、子查询等复杂分析操作。
  • 多格式直接访问:可直接读取和写入CSV、JSON、Parquet、Iceberg、Delta Lake、Excel等流行数据格式,支持本地文件及对象存储(如AWS S3、Azure Blob等)。
  • 多语言客户端API:为Python、R、Java、Node.js、C++、Go、Rust、ODBC等主流语言提供符合语言习惯的、高性能的API接口,方便集成到各类应用中。
  • 扩展机制:通过扩展可以引入新函数、新数据类型以及对新数据格式的支持,例如空间地理数据(Spatial)扩展、Vortex和Lance等格式支持。
  • DuckStack生态:包含DuckDB核心数据库、Quack(客户端-服务器协议)、DuckLake(基于SQL的湖仓格式)以及对Apache Iceberg的一流支持,帮助用户构建完整的数据栈。
  • 安装便捷:支持命令行(CLI)、Python(pip install duckdb)、Go(go get)、Java(JDBC)、Node.js(npm)、Rust(cargo)等多种安装方式,一条命令即可开始使用。

特点说明

  • 嵌入式架构:DuckDB不依赖后台服务器,直接在本地进程内运行,应用零部署成本,适合嵌入到分析工具、脚本和应用程序中。
  • 高性能分析:采用列式存储和向量化执行引擎,针对分析型查询进行了深度优化,可在大规模数据集上实现高吞吐、低延迟查询。
  • 开源与许可证友好:DuckDB及其相关项目均基于MIT许可证,由独立的DuckDB基金会管理,用户可自由使用、修改和分发。
  • 生态系统完善:提供丰富文档、入门指南、博客、常见问题、GitHub社区(星标42.7k)以及多种客户端支持,帮助用户快速上手和解决问题。
  • 跨平台支持:可运行在主流操作系统(Linux、macOS、Windows)上,同时支持CPU、GPU等不同硬件环境,也可部署于边缘设备或云端。

DuckDB以极简的安装和使用方式,为用户提供了功能强大且易于扩展的数据分析解决方案。无论是数据科学家、软件工程师还是数据分析师,都可以借助DuckDB高效地处理和分析数据。该网站提供了全面的文档、示例、博客和社区支持,是学习和使用DuckDB的官方首选资源。