DuckDB | |
Developer: | DuckDB Labs |
Latest Release Version: | v1.0.0 |
Programming Language: | C++ |
Operating System: | Cross-platform |
Genre: | Column-oriented DBMS RDBMS |
License: | MIT License |
DuckDB is an open-source column-oriented relational database management system (RDBMS) originally developed by Mark Raasveldt and Hannes Mühleisen at the Centrum Wiskunde & Informatica (CWI) in the Netherlands[1] and first released in 2019.[2] The project has over 6 million downloads per month.[3] [4] [5] It is designed to provide high performance on complex queries against large databases in embedded configuration,[1] such as combining tables with hundreds of columns and billions of rows. Unlike other embedded databases (for example, SQLite) DuckDB is not focusing on transactional (OLTP) applications and instead is specialized for online analytical processing (OLAP) workloads.[6]
DuckDB in its OLAP niche does not compete with the traditional DBMS like MSSQL, PostgreSQL and Oracle database. While using SQL for queries, DuckDB targets the serverless applications and provides extremely fast responses using Apache Parquet files for storage. These attributes make it a popular choice for large dataset analysis in interactive mode, but match poorly the requirements of the enterprise data storage.[7]
DuckDB uses a vectorized query processing engine. DuckDB is special amongst database management systems because it does not have any external dependencies and can build with just a C++11 compiler.[8] DuckDB also deviates from the traditional client–server model by running inside a host process (it has bindings, for example, for a Python interpreter with the ability to directly place data into NumPy arrays[1]).
DuckDB is used at Facebook, Google, and Airbnb.[9]
DuckDB co-author Mühleisen also runs a support and consultancy firm for the software, DuckDB Labs.[2] The company has chosen not to take venture capital funding, stating "We feel investment would force the project direction towards monetization, and we would much prefer keeping DuckDB open and available for as many people as possible".[5] Another company, MotherDuck, has received $100m funding for its data platform based on DuckDB, with investors including Andreessen Horowitz.[10]