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.
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 can be found here.
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.
We provide a live demo of DuckDB.
Projects using DuckDB
Here are some projects that we know of that use DuckDB. If you would like your project to be added here, open a GitHub issue.