Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/duckdb/duckdb
DuckDB is an analytical in-process SQL database management system
https://github.com/duckdb/duckdb
analytics database embedded-database olap sql
Last synced: 5 days ago
JSON representation
DuckDB is an analytical in-process SQL database management system
- Host: GitHub
- URL: https://github.com/duckdb/duckdb
- Owner: duckdb
- License: mit
- Created: 2018-06-26T15:04:45.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2024-10-29T09:53:26.000Z (about 2 months ago)
- Last Synced: 2024-10-29T09:56:17.051Z (about 2 months ago)
- Topics: analytics, database, embedded-database, olap, sql
- Language: C++
- Homepage: http://www.duckdb.org
- Size: 299 MB
- Stars: 23,812
- Watchers: 206
- Forks: 1,894
- Open Issues: 336
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Citation: CITATION.cff
Awesome Lists containing this project
- stars - duckdb/duckdb - process SQL database management system (HarmonyOS / Windows Manager)
- awesomeLibrary - duckdb - DuckDB is an analytical in-process SQL database management system. (语言资源库 / c++)
- awesome-systematic-trading - DuckDB - commit/duckdb/duckdb/main) | `C++`, `Python` | - ArcticDB is a high performance, serverless DataFrame database built for the Python Data Science ecosystem. (Databases / TimeSeries Analysis)
- awesome-github-repos - duckdb/duckdb - DuckDB is an analytical in-process SQL database management system (C++)
- awesome-repositories - duckdb/duckdb - DuckDB is an analytical in-process SQL database management system (C++)
- awesome-list - duckdb - process SQL OLAP Database Management System | duckdb | 3353 | (C++)
- jimsghstars - duckdb/duckdb - DuckDB is an analytical in-process SQL database management system (C++)
- awesome-datalake - DuckDB - DuckDB is an analytical in-process SQL database management system. DuckDB has a flexible extension mechanism that allows for dynamically loading extensions. (Data Lake Engines)
- awesome-ccamel - duckdb/duckdb - DuckDB is an analytical in-process SQL database management system (C++)
- awesome-datalake - DuckDB - DuckDB is an analytical in-process SQL database management system. DuckDB has a flexible extension mechanism that allows for dynamically loading extensions. (Data Lake Engines)
- my-awesome - duckdb/duckdb - database,olap,sql pushed_at:2024-12 star:24.9k fork:2.0k DuckDB is an analytical in-process SQL database management system (C++)
- StarryDivineSky - duckdb/duckdb
- awesome-starred - duckdb/duckdb - DuckDB is an in-process SQL OLAP Database Management System (sql)
- pytrade.org - duckdb - process SQL database management system (Curated List / Data Tools)
- awesome - duckdb/duckdb - DuckDB is an analytical in-process SQL database management system (C++)
- awesome - duckdb/duckdb - DuckDB is an analytical in-process SQL database management system (C++)
README
## DuckDB
DuckDB is a high-performance analytical database system. It is designed to be fast, reliable, portable, and easy to use. DuckDB provides a rich SQL dialect, with support far beyond basic SQL. DuckDB supports arbitrary and nested correlated subqueries, window functions, collations, complex types (arrays, structs, maps), and [several extensions designed to make SQL easier to use](https://duckdb.org/docs/guides/sql_features/friendly_sql).
DuckDB is available as a [standalone CLI application](https://duckdb.org/docs/api/cli/overview) and has clients for [Python](https://duckdb.org/docs/api/python/overview), [R](https://duckdb.org/docs/api/r), [Java](https://duckdb.org/docs/api/java), [Wasm](https://duckdb.org/docs/api/wasm/overview), etc., with deep integrations with packages such as [pandas](https://duckdb.org/docs/guides/python/sql_on_pandas) and [dplyr](https://duckdblabs.github.io/duckplyr/).
For more information on using DuckDB, please refer to the [DuckDB documentation](https://duckdb.org/docs/).
## Installation
If you want to install DuckDB, please see [our installation page](https://duckdb.org/docs/installation/) for instructions.
## Data Import
For CSV files and Parquet files, data import is as simple as referencing the file in the FROM clause:
```sql
SELECT * FROM 'myfile.csv';
SELECT * FROM 'myfile.parquet';
```Refer to our [Data Import](https://duckdb.org/docs/data/overview) section for more information.
## SQL Reference
The documentation contains a [SQL introduction and reference](https://duckdb.org/docs/sql/introduction).
## Development
For development, DuckDB requires [CMake](https://cmake.org), Python3 and a `C++11` compliant compiler. Run `make` in the root directory to compile the sources. For development, use `make debug` to build a non-optimized debug version. You should run `make unit` and `make allunit` to verify that your version works properly after making changes. To test performance, you can run `BUILD_BENCHMARK=1 BUILD_TPCH=1 make` and then perform several standard benchmarks from the root directory by executing `./build/release/benchmark/benchmark_runner`. The details of benchmarks are in our [Benchmark Guide](benchmark/README.md).
Please also refer to our [Build Guide](https://duckdb.org/dev/building) and [Contribution Guide](CONTRIBUTING.md).
## Support
See the [Support Options](https://duckdblabs.com/support/) page.