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.

Relational Databases
MariaDBHigh compatibility with MySQL, ensuring drop-in replacement capability
PostgreSQLAward winning Object-relational database management system
MySQLMultithreaded, multi-user SQL database management system
SQLiteEmbeddable SQL Database Engine
TiDBCloud-native, distributed SQL database
DuckDBIn-process SQL OLAP database management system
TursoIn-process relational database engine
YugabyteDBPostgreSQL-compatible distributed SQL database
rqliteDistributed database built on SQLite
MonetDBHigh performance relational database system for analytics
DoltVersion-controlled SQL database
FirebirdRelational database offering many ANSI SQL features
H2Relational database management system written in Java
HSQLDBJDBC interface, client-server version, query tool, grid and more
CUBRIDDatabase engine with built-in enterprise grade features
Apache CloudberryMassively parallel processing database
VirtuosoData Management with Web Application Server and Web Services
Apache DerbyFull-featured relational database implemented entirely in Java

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