Jay Taylor's notes

back to listing index

DuckDB - An embeddable SQL OLAP database management system

[web search]
Original source (duckdb.org)
Tags: database c++ sqlite duckdb columnar-datastore
Clipped on: 2020-09-20

DuckDB is an embeddable SQL OLAP database management system

Why DuckDB?

Simple

  • In-process, embedded
  • C++11, no dependencies, single file build
  • APIs for Python/R/Java/…
more

Feature-rich

  • Transactions, persistence
  • Extensive SQL support
more

Fast

  • Vectorized engine
  • Optimized for analytics
more

Free

  • Free & Open Source
  • Permissive MIT License
more

All the benefits of a database, none of the hassle.

Installation

Choose your environment to use for DuckDB

  • Python
  • R
  • Java
  • C++
  • CLI
pip install duckdb==0.2.1

Latest release: DuckDB 0.2.1 System detected: Other Installations

When to use DuckDB

  • Processing and storing tabular datasets, e.g. from CSV or Parquet files
  • Interactive data analysis, e.g. Joining & aggregate multiple large tables
  • Concurrent large changes, to multiple large tables, e.g. appending rows, adding/removing/ updating columns
  • Large result set transfer to client

When to not use DuckDB

  • Non-rectangular data sets, e.g. graphs, plaintext
  • High-volume transactional use cases (e.g. tracking orders in a webshop)
  • Large client/server installations for centralized enterprise data warehousing
DuckDB
SQLite for Analytics

Internals

FAQs
Code of Conduct
GitHub