DuckDB is an in-process SQL OLAP database management system
Why DuckDB?
Simple
- In-process, embedded
- C++11, no dependencies, single file build
- APIs for Python/R/Java/…
All the benefits of a database, none of the hassle.
Installation
Choose your environment to use for DuckDB
- Python
- R
- Java
- node.js
- C++
- CLI
pip install duckdb==0.2.3
Latest release: DuckDB 0.2.3 System detected: Other Installations
pip install duckdb==0.2.3
install.packages("duckdb")
<dependency>
<groupId>org.duckdb</groupId>
<artifactId>duckdb_jdbc</artifactId>
<version>0.2.3</version>
</dependency>
More Options
npm install duckdb
https://github.com/cwida/duckdb/releases/download/v0.2.3/libduckdb-osx-amd64.zip
https://github.com/cwida/duckdb/releases/download/v0.2.3/duckdb_cli-osx-amd64.zip
When to use DuckDB
- Processing and storing tabular datasets, e.g. from CSV or Parquet files
- Interactive data analysis, e.g. Joining & aggregate multiple large tables
- Concurrent large changes, to multiple large tables, e.g. appending rows, adding/removing/ updating columns
- Large result set transfer to client
When to not use DuckDB
- Non-rectangular data sets, e.g. graphs, plaintext
- High-volume transactional use cases (e.g. tracking orders in a webshop)
- Large client/server installations for centralized enterprise data warehousing