19.8k star,开源、免费、轻量、小巧、足够用的一款软件

专门用作分析的一款高性能数据库,体积很小,功能强大,值得关注下

duckdb简介

DuckDB是一个开源的内嵌式SQL OLAP数据库管理系统,它以其高性能、易用性和丰富的功能而闻名。

DuckDB支持任意和嵌套的相关子查询,窗口函数,排序规则,复杂类型(数组,结构,映射),以及一些旨在使SQL更容易使用的扩展。

DuckDB作为一个独立的CLI应用程序提供,并具有Python,R,Java,Wasm等客户端,与pandas和dupiter等软件包进行深度集成。

DuckDB是设计用于分析工作负载的数据库,它可以作为单一二进制文件运行,或者完全嵌入到宿主应用程序中。DuckDB的目标是提供一个简单、可移植且功能丰富的数据管理系统,它可以在各种操作系统和硬件架构上运行,包括Linux、macOS、Windows以及ARM和x86。

duckdb特点

  • 简单性:DuckDB易于安装和部署,无需外部依赖,支持在其宿主应用程序中以进程方式运行。
  • 可移植性:DuckDB支持多种操作系统和硬件架构,甚至可以在Web浏览器和移动电话上运行。
  • 丰富的SQL方言:DuckDB提供了丰富的SQL方言,支持复杂查询、窗口函数、事务保证(ACID属性)以及多版本并发控制(MVCC),它可以从本地文件系统和远程端点(如S3 bucket)读取和写入文件格式(如CSV、Parquet和JSON)。。
  • 高性能:DuckDB的列式引擎支持并行执行,可以处理超出内存大小的工作负载。
  • 扩展性:DuckDB允许通过扩展机制定义新的数据类型、函数、文件格式和SQL语法。
  • 开源:DuckDB及其核心扩展是在宽松的MIT许可下开源的。

duckdb快速部署及使用

要开始使用DuckDB,用户可以访问DuckDB的官方文档网站并下载适用于其操作系统的二进制文件。例如,macOS用户可以使用Homebrew包管理器来安装DuckDB,以便在PATH中直接可用,从而简化升级和安装过程。

安装示例(macOS):

$ brew install duckdb

windows

winget install DuckDB.cli

linux

https://github.com/duckdb/duckdb/releases/download/v1.0.0/duckdb_cli-linux-amd64.zip

启动DuckDB:

$ duckdb

创建和查询表:

CREATE TABLE ducks AS SELECT 3 AS age, 'mandarin' AS breed;
SELECT * FROM ducks;

这些命令将创建一个名为“ducks”的表,并插入一条记录。DuckDB默认是一个内存中的过程,不会持久化任何数据。如果需要持久化数据,用户可以指定文件名来创建或打开数据库¹。

数据持久化示例:

$ duckdb my_database.duckdb

DuckDB是一个强大的工具,适用于需要高性能数据分析的开发者和数据科学家。

传送门:http://www.duckdb.org/

开源地址:https://github.com/duckdb/duckdb