Database

DuckDB is an in-process SQL OLAP database management system

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 ColumnStoreUses a massively parallel distributed data architecture
DuckDBIn-process SQL OLAP database management system
DruidHigh performance, real-time analytics database
DatabendCloud data warehouse
ClickHouseReal-time analytics database management system
InfluxDB CoreScalable datastore for metrics, events, and real-time analytics
DorisModern data warehouse for real-time analytics
VictoriaMetricsScalable solution for monitoring and managing time series data
StarRocksHigh-performance analytical database
MonetDBHigh performance relational database system for analytics
KuduDistributed data storage engine
QuestDBHigh-performance time-series database
PinotReal-time analytics platform
IoTDBHigh-performance time-series database
GreptimeDBCloud-native database
CrateDBDistributed SQL database management

Read our verdict in the software roundup.


Best Free and Open Source Software 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.
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments