DuckDB – The SQLite for Analytics (Mark Raasveldt, CWI)

CMU Database Group · 28K views · 2020 · 1:08:01

Open on YouTube

Databases & storageData science & statisticstalk

Why Hacker News recommends it

HN recommends it as the definitive talk from the implementer on DuckDB's motivation and design.

What it is

Mark Raasveldt of CWI presents DuckDB, an embeddable analytical database described as the SQLite for analytics, in a CMU Database Group talk. He explains why it was built, what it is for, and how it works.

Recommended by 2 HN commenters across 3 different months, 2020 to 2026.

What Hacker News said

Strong rec mrtimo · 2026-04 · on “Design and Implementation of DuckDB Internals”

If you are a data scientist or do anything with data... duckdb is like a swiss army knife. So many great ways it can help your workflow. The original video from CMU in 2020 [1] is a classic. Minutes 3-8 present a good argument for adding duckdb to your data cleaning/processing workflow. And if you want to add a semantic layer on top of data, Malloy [2] is my favorite so far (it has duckdb built in): [1]: [this video] [2]: [LINK]

Recommends kyllo · 2020-05 · on “SQLite 3.32”

I was wondering the same--I guess because it's fairly new (2018) and it came out of a database research group at a European university, rather than a SV tech firm. Therefore, limited marketing budget. By the way, here's a YT video of a talk given by one of the DuckDB implementers about why they made it, what it's for, and how it works: [this video]

Recommends kyllo · 2020-05 · on “DuckDB: SQLite for Analytics”

Here's a YT video of one of the implementers giving a talk to CMU students about what DuckDB is, why they made it, and how it works: [this video] In a nutshell, it's a file-per-database embedded DB like SQLite, and it's installable as a Python or R package from PyPI or CRAN, but unlike SQLite, it's a column store with vectorized operations so it's more performant for analytical queries.

Recommends mrtimo · 2025-01 · on “Databases in 2024: A Year in Review”

Enjoyed his roundup in the "Shoving Ducks into Everything" section. DuckDB is a great tool. In April 2020, the creator of DuckDB gave a talk at CMU. In the beginning he makes a convincing argument (in 5 minutes) why data scientists don't use RDBMS and how this was the genesis of DuckDB. Here is a video that starts 3 minutes into the talk (where is argument starts): [this video]

Cites snthpy · 2020-09 · on “DuckDB – An embeddable SQL database like SQLite, but supports Postgres features”

DuckDB looks very interesting and I'm quite excited to examine it more closely in the next few days! I just wanted to add to the discussion that an unchanging file format, or at least a backwards compatible one, is a key feature of sqlite. See for example Richard Hipp's comments here [1] (I think he also mentioned earlier in the talk that the file format has become a limiting factor now in terms of some of the refactoring that they can do). The file format therefore seems likely to be a major factor in the long term success of this project and I am glad to see that you are taking your time before settling on any architecture here. Given that you are targeting the data science and analytics s

Cites snidane · 2021-02 · on “Many small queries are efficient in SQLite”

If you're using sqlite, but for a static website, you might consider using duckdb. It's still evolving, but it has huge potential. It's also an embedded single file database like sqlite, but stores data in columns. Duckdb to sqlite is like redshift to postgres. Hopefully they will add compression for string columns, so that host your entire static site from a single file in a very efficient way. [LINK] [this video]

Cites mrtimo · 2025-09 · on “Polars Cloud and Distributed Polars now available”

I agree with this 100%. The creator of duckdb argues that people using pandas are missing out of the 50 years of progress in database research, in the first 5 minutes of his talk here [1]. I've been using Malloy [2], which compiles to SQL (like Typescript compiles to Javascript), so instead of editing a 1000 line SQL script, it's only 18 lines of Malloy. I'd love to see a blog post comparing a pandas approach to cleaning to an SQL/Malloy approach. [1] [this video] [2] [LINK]