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.
DuckDB is available as a standalone CLI application and has clients for Python, R, Java, Wasm, etc., with deep integrations with packages such as pandas and dplyr.
This is free and open source software.
Key Features
- Simple – DuckDB has no external dependencies, neither for compilation nor during run-time. There is no DBMS server software to install, update and maintain. DuckDB does not run as a separate process, but completely embedded within a host process.
- Portable – cross-platform support. It runs under Linux, macOS and Windows, and for both x86 and ARM architectures. It can be deployed from small, resource-constrained edge devices to large multi-terabyte memory servers with 100+ CPU cores.
- Provides APIs for Java, C, C++, Go, Node.js and other languages.
- Extensive support for complex queries in SQL with a large function library, window functions, etc.
- Provides transactional guarantees (ACID properties) through a custom, bulk-optimized Multi-Version Concurrency Control (MVCC).
- Data can be stored in persistent, single-file databases. DuckDB supports secondary indexes to speed up queries trying to find a single table entry.
- Deeply integrated into Python and R for efficient interactive data analysis.
- Fast – designed to support analytical query workloads, also known as online analytical processing (OLAP).
- Flexible extension mechanism that allows defining new data types, functions, file formats and new SQL syntax.
- Support for the Parquet file format, JSON, time zones, and support for the HTTP(S) and S3 protocols are implemented as extensions.
Website: github.com/duckdb/duckdb
Support:
Developer: Stichting DuckDB Foundation
License: MIT License
DuckDB is written in C++ and C. Learn C++ with our recommended free books and free tutorials. Learn C with our recommended free books and free tutorials.
Related Software
| Column-Oriented Databases | |
|---|---|
| MariaDB ColumnStore | Uses a massively parallel distributed data architecture |
| DuckDB | In-process SQL OLAP database management system |
| Druid | High performance, real-time analytics database |
| Databend | Cloud data warehouse |
| ClickHouse | Real-time analytics database management system |
| InfluxDB Core | Scalable datastore for metrics, events, and real-time analytics |
| Doris | Modern data warehouse for real-time analytics |
| VictoriaMetrics | Scalable solution for monitoring and managing time series data |
| StarRocks | High-performance analytical database |
| MonetDB | High performance relational database system for analytics |
| Kudu | Distributed data storage engine |
| QuestDB | High-performance time-series database |
| Pinot | Real-time analytics platform |
| IoTDB | High-performance time-series database |
| GreptimeDB | Cloud-native database |
| CrateDB | Distributed SQL database management |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |

