DuckDB

An Embeddable Analytical Database

DuckDB is an embedded database designed to execute analytical SQL queries fast while embedded in another process. It is designed to be easy to install and easy to use. DuckDB has no external dependencies. DuckDB has bindings for C/C++, Python and R.

DuckDB is developed by the Database Architectures group of the CWI. It is open source and licensed under the MIT license. The source code can be found here. Installation instructions for DuckDB can be found here.

Testing

While DuckDB is created by a research group, it is not intended to be a research prototype. DuckDB is intended to be a stable and mature database system.

To facilitate this stability, DuckDB is intensively tested using Continuous Integration. DuckDB's test suite currently contains millions of queries, and includes queries adapted from the test suites of SQLite, PostgreSQL and MonetDB.

In addition to this test suite, we run various tests that stress DuckDB under heavy load. We run the TPC-H and TPC-DS benchmarks, and run various tests in which DuckDB is used by many clients in parallel.

Documentation

Documentation can be found here.

Continuous Benchmarking

Continuous benchmarking is run on every commit to detect performance regressions in DuckDB. The set of benchmarks that are run on every commit can be found here.