DuckDB
DuckDB is in-process columnar analytics engine — SQLite's shape, a warehouse's execution model. We compare it in Database engines. It is top of its roster on Ops burden (1). The trade-off is being 5th of 5 on Replication (None).
What is DuckDB?
DuckDB — In-process columnar analytics engine — SQLite's shape, a warehouse's execution model. DuckDB is an embedded analytical database from CWI Amsterdam, now maintained by DuckDB Labs with the IP held by a non-profit foundation. It uses vectorised columnar execution across all cores, reads Parquet, CSV, JSON, S3 and live PostgreSQL tables without loading them first, and is included here as the analytical contrast rather than as an OLTP option — it has no replication and a single-process write path. Built by DuckDB Labs. Founded 2019. Open source under MIT.
We track it in 1 comparison — Database engines — so every claim below is a cell in a table you can open and check rather than an impression. Across those rosters it sits against 4 other tools, and what follows is where it visibly separates from them.
Where it wins.
- Ops burden — 1, tied for best across 2 of 5 tools.
Each of those is ranked against the whole roster on its category page, not against a hand-picked subset, so a first place here means first of everything we list.
Where it gives ground.
- Replication — None, the weakest of the 5 here. PostgreSQL records Built-in async + synchronous.
- PITR — No. PostgreSQL records Yes.
- Online schema change — No. MySQL records Yes.
- Migration tooling — 2, the weakest of the 5 here. PostgreSQL records 5.
None of these disqualify it on their own. They are the fields to check against your own requirements before you commit, because they are the ones where a competitor genuinely does better.
Provenance. 24 of 26 tracked fields carry a value for DuckDB, and 17 of those cite a document you can open. Last verified 2026-07-01. Every figure keeps its own provenance — measured by us, claimed by the vendor, inferred, or community-reported — and we would rather print a dash than a guess.
Its nearest neighbour in our data is MariaDB. DuckDB is ahead on Ops burden (1 against 3) and GitHub stars (33,000 against 6,000). MariaDB takes Replication (Built-in async + synchronous against None) and PITR (Yes against No). That pattern repeats across the rest of the roster — see DuckDB alternatives for the other rivals, each compared the same way.
- Company
- DuckDB Labs
- Founded
- 2019
- Licence
- MIT (open source)
- Fields we track
- 24 of 26
- Last verified
- 2026-07-01
DuckDB in Database engines
Ranked against 5 tools across 26 sourced fields. Open the full Database engines table.The analytical contrast, included so the other four are legible — not a candidate for your application database. It answers questions the OLTP engines answer badly, on a laptop, over Parquet you never loaded, and it will lose your data if you treat it as a system of record without a backup story.
- Ops burden
- 11st of 5 Inferredverified 2026-07-01
- PITR
- No5th of 5 Inferredverified 2026-07-01
- Online schema change
- No4th of 5 Inferredverified 2026-07-01
- Migration tooling
- 25th of 5 Inferredverified 2026-07-01
- Client libraries
- 35th of 5 Inferredverified 2026-07-01
- Managed options
- MotherDuck5th of 5 Inferredverified 2026-07-01
When to use DuckDB
DuckDB is the right call in these situations, each one drawn from a field we actually record:
- Aggregation and scans over columns rather than fetching rows by key.
- Querying Parquet, CSV or object storage without an ingestion pipeline.
- The reporting half of a system whose rows live in Postgres or SQLite.
- Ops burden is your binding constraint. DuckDB records 1, the best figure in the Database engines roster. We define that field as 1–5, lower is less work.
When not to use DuckDB
Reach for something else when any of the following is a requirement rather than a nice-to-have:
- Replication. DuckDB records None, the weakest of the 5 tools in the Database engines roster. PostgreSQL records Built-in async + synchronous on the same field. If that is a hard requirement rather than a preference, start elsewhere.
- PITR. DuckDB records No on the Database engines table. PostgreSQL records Yes on the same field. If that is a hard requirement rather than a preference, start elsewhere.
- Online schema change. DuckDB records No on the Database engines table. MySQL records Yes on the same field. If that is a hard requirement rather than a preference, start elsewhere.
- Migration tooling. DuckDB records 2, the weakest of the 5 tools in the Database engines roster. PostgreSQL records 5 on the same field. If that is a hard requirement rather than a preference, start elsewhere.
- Client libraries. DuckDB records 3, the weakest of the 5 tools in the Database engines roster. SQLite records 5 on the same field. If that is a hard requirement rather than a preference, start elsewhere.
We publish this block because a comparison that only lists what a tool is good at is marketing. Every figure above sits on the same page as its source, and the field definitions are on the category tables if you want to check how we measured them.
Tools compared alongside DuckDB
Everything below shares at least one comparison category with DuckDB, ordered by how much overlap there is. For the reasoning on each — which fields it wins, which it loses — see DuckDB alternatives.Recent DuckDB changes
- 2025-09-16 · launchDuckDB 1.4.0 becomes the first LTS releaseDuckDB adopts a long-term-support line and adds database encryption and MERGE INTO. The LTS commitment is the more consequential half: it is the point at which running DuckDB as durable infrastructure, rather than as a notebook tool, stops being reckless.
Sources and gaps
What we don't know. 2 of the 26 fields we track for DuckDB are still blank: Max database size and Default max conns. Those render as dashes rather than as zeroes or assumptions, because an empty cell and a bad cell are not the same thing and only one of them is honest. If you know any of these figures and can point at a document, tell us.
- duckdb.org/docs/stable/connect/concurrencyConcurrency model, Write concurrency, Isolation levels, Connection model, Default max conns · Vendor-claimed · verified 2026-07-01
- duckdb.org/why_duckdbEmbedded or server, Replication, First release · Vendor-claimed · verified 2026-07-01
- github.com/duckdb/duckdb/blob/main/LICENSELicence, Embed in closed source · Vendor-claimed · verified 2026-07-01
- duckdb.org/docs/stable/data/json/overviewJSON support · Vendor-claimed · verified 2026-07-01
- duckdb.org/docs/stable/extensions/full_text_searchFull-text search · Vendor-claimed · verified 2026-07-01
- duckdb.org/docs/stable/extensions/vssVector search · Vendor-claimed · verified 2026-07-01
- duckdb.org/docs/stable/sql/statements/alter_tableALTER TABLE · Vendor-claimed · verified 2026-07-01
- duckdb.org/docs/stable/extensions/overviewExtension ecosystem · Vendor-claimed · verified 2026-07-01
- github.com/duckdb/duckdbGitHub stars · Community-reported · verified 2026-07-01
- duckdb.org/Positioning · Vendor-claimed · verified 2026-07-01
- duckdb.org/foundation/Governance · Vendor-claimed · verified 2026-07-01