duckdb/duckdb

GitHub: duckdb/duckdb

一款高性能的嵌入式分析型 SQL 数据库,专为本地大规模数据分析场景设计。

Stars: 36436 | Forks: 2967

DuckDB logo

Github Actions Badge discord Latest Release

## DuckDB DuckDB 是一个高性能分析数据库系统。它旨在快速、可靠、便携且易于使用。DuckDB 提供了丰富的 SQL 方言,其支持范围远超基础 SQL。DuckDB 支持任意和嵌套的相关子查询、窗口函数、排序规则、复杂类型(如数组、结构体、映射),以及[几个旨在让 SQL 更易用的扩展](https://duckdb.org/docs/stable/sql/dialect/friendly_sql.html)。 DuckDB 可作为[独立的 CLI 应用程序](https://duckdb.org/docs/stable/clients/cli/overview)使用,并提供 [Python](https://duckdb.org/docs/stable/clients/python/overview)、[R](https://duckdb.org/docs/stable/clients/r)、[Java](https://duckdb.org/docs/stable/clients/java)、[Wasm](https://duckdb.org/docs/stable/clients/wasm/overview) 等客户端,且与 [pandas](https://duckdb.org/docs/guides/python/sql_on_pandas) 和 [dplyr](https://duckdb.org/docs/stable/clients/r#duckplyr-dplyr-api) 等包有着深度集成。 有关使用 DuckDB 的更多信息,请参阅 [DuckDB 文档](https://duckdb.org/docs/stable/)。 ## 安装 如果您想安装 DuckDB,请查看[我们的安装页面](https://duckdb.org/docs/installation/)获取说明。 ## 数据导入 对于 CSV 文件和 Parquet 文件,数据导入就像在 FROM 子句中引用文件一样简单: ``` SELECT * FROM 'myfile.csv'; SELECT * FROM 'myfile.parquet'; ``` 有关更多信息,请参阅我们的[数据导入](https://duckdb.org/docs/stable/data/overview)部分。 ## SQL 参考 文档包含 [SQL 介绍和参考](https://duckdb.org/docs/stable/sql/introduction)。 ## 开发 进行开发时,DuckDB 需要 [CMake](https://cmake.org)、Python 3 和一个兼容 `C++11` 的编译器。在根目录下,运行 `make` 编译源代码。进行开发时,请使用 `make debug` 构建一个未优化的 debug 版本。在进行更改后,您应该运行 `make unit` 和 `make allunit` 以验证您的版本是否正常工作。要测试性能,您可以运行 `BUILD_BENCHMARK=1 BUILD_TPCH=1 make`,然后通过执行 `./build/release/benchmark/benchmark_runner` 从根目录运行几个标准基准测试。基准测试的详细信息请见我们的[基准测试指南](benchmark/README.md)。 另请参阅我们的[构建指南](https://duckdb.org/docs/stable/dev/building/overview)和[贡献指南](CONTRIBUTING.md)。 ## 支持 请参阅 [支持选项](https://duckdblabs.com/support/) 页面以及专门的 [`endoflife.date`](https://endoflife.date/duckdb) 页面。
标签:AI工具, Bash脚本, CLI, DuckDB, ETL, JavaCC, JS文件枚举, OLAP, pandas, Python, R, SQL, SQL引擎, Wasm, WiFi技术, 分析型数据库, 列式存储, 向量化执行, 多线程, 大数据, 嵌入式数据库, 开源, 数据库, 数据库管理系统, 数据清洗, 数据科学, 无后门, 目录扫描, 系统审计, 资源验证, 进程内数据库, 逆向工具