A Preview of DuckDB v2.0

(duckdb.org)

424 points | by ibotty 6 hours ago

29 comments

  • otter-in-a-suit 3 hours ago
    Super excited about Quack (partially due to the name). I use duckdb for both analytics and runtime, but I do have to serve/handle/manage a giant, multi-GiB duckdb file as effectively a runtime artifact[1]. I'm aware that this isn't the _perfect_ database for this, but the mix of it being fast, having spatial support, sane coding interfaces, great dbt integration, and me being able to do everything between "run a giant several hundred step dbt pipeline" to "query the output of said pipeline" to "read/query a csv on disk" with the exact same tool is just so nice. If I could centrally manage said asset more akin to a traditional database, I'd be very happy.

    I've partially solved this with separate databases for different steps in the data pipeline(s) and have even experimented with Clickhouse as a complete alternative, but I really like way too many things about duckdb to replace it.

    [1]: If you care: https://skaldmaps.com/blog/2026/07/zip-codes-are-a-bad-spati...

    • mediaman 3 hours ago
      I built a platform for some midsize companies in a specific vertical that is basically a data warehouse with some LLM-driven dashboarding and query tools on top. Typical data size 5-150gb. So I built a service layer around duckdb, where each tenant gets their own duckdb. I'm also in the boat of knowing that duckdb is not the perfect solution for this (the classic use case is running it against local data on a laptop), but there's so much I like about it, and it's really nice that each tenant can have total separation with custom schemas and that it's straightforward to pile data into object storage and form your own lake.

      And now with things like quack the sharp points around concurrency are relaxing, and it feels like the compromises of using it this way are disappearing.

      • allan_s 52 minutes ago
        As somebody new to this and with a use case very similar to yours , what would have been a more suitable solution for this ?

        The guy who first built the architecture made the same decision as yours (I.e one local duckdb for each tenant to work as a copy of big query/their data warehouse) and I dont know what the state of the art for this kind of use cases ?

      • tccole 2 hours ago
        I feel like familiarity and ease of use and “good enough” beat out the perfect db for the job in many occasions.
    • dmix 2 hours ago
      > to "read/query a csv on disk"

      I discovered DuckDB looking for a way to analyze Nginx access.log's and it's an amazing tool. I believe it should be a standard tool like ripgrep for devs.

    • ignaciovdk 2 hours ago
      Check it out Arc, I think that we can help there, plus, use DuckDB as a engine: https://github.com/Basekick-Labs/arc
      • paoliniluis 1 hour ago
        Hey this is neat and I just found out you're from BA, Argentina. I would love you be part of dataengine.ar and maybe talk about arc?
  • rrgok 3 minutes ago
    Sometimes I prefer DuckDB query language to MySQL or Postgres. It is not even about performance, it just feels right. I just connect to my DBS from DuckDB just to use its query language. And besides it gives you a single language frontend.
  • jtbaker 5 hours ago
    DuckDB is one of the things I've been most excited about in a long time. Introduced it to projects at 3 companies since 2023, greatly lowering resource requirements and running it in a variety of environments. Just having the ability to do out of core bigger than memory data processing on lower end consumer grade hardware is remarkable.

    Thanks to the team for everything!

    • throwaw12 5 hours ago
      Curious to learn more about how people are using it?

      Are they downloading parquet files and running analyses locally, or are they connecting to Iceberg-like data lake and leveraging DuckDBs query engine capabilities or have you exposed an interface (REST, UI) to query your data?

      • arealaccount 4 hours ago
        We use DuckDB WASM with parquet to build dashboards in-browser. It's cool to be able to write SQL directly in a browser and not have to rely on REST/Graphql/etc to access the data layer.
        • jayct 1 hour ago
          curious if you're using something mostly-out-of-the-box to layer on visualizations for your dashboards?

          relatively new to duckdb, love it so far, looking at alternatives for downstream visualization. so far just exporting datasets and piping into python scripts.

          • jtbaker 1 hour ago
            For a schema-first (vs. code first) approach (which I think would be a sweet spot for agent driven dashboarding), I'd suggest looking at https://vega.github.io/vega-lite/ or https://vega.github.io/vega/. A little higher level than full D3 but gives you a little higher level approach.
          • mediaman 1 hour ago
            I do something similar and just use echarts. Very happy with it.
      • jtbaker 4 hours ago
        I've got a couple of different use cases:

        - ETL pipelines running on K8s nodes. Using their streaming processing engine means I can run smaller pods/nodes if needed, for datasets that may have required large dataframe-like transformations that may have buffered a big dataset into memory previously.

        - A CLI distributed to an internal team to do a postprocessing step on a large modeling dataset - to get it into a consumable format and upload it to a bucket as a .db file.

        - A SvelteKit app that used the node duckdb bindings to attach to the .db on the bucket and explore the results through a suite of BI tools. These tables have millions of rows, and would be pretty heavy to store in PG. The DuckDB version works really, really well.

        • staticautomatic 46 minutes ago
          Similar here. Lots of places where we replaced Pandas with DuckDB for transformations. Also have scriptable custom dashboards running on top of BigQuery data pre-aggregated and extracted to parquet on GCS. It's way faster and the only limiting factor is your viz library. It was pretty easy to build and the only big gotcha I encountered was finding, somewhat counter-intuitively, that it's often best minimize partitioning.
        • tccole 2 hours ago
          Hell yeah; a fellow sveltekit fan.
      • drums8787 4 hours ago
        We use WASM DuckDB as the target for an in-browser agentic feature. Generated SQL runs against the user's individual tables that then feed in-browser dashboards.

        Excellent performance.

        • throw1234567891 4 hours ago
          [flagged]
          • fg137 3 hours ago
            Running duckdb as wasm in browser for dashboards is a very common use case.

            Does that make this account an alias as well?

      • tccole 2 hours ago
        Yes.

        I have used it with WASM for some web applications for web use. I have also used with locally for querying 100 gigs of data. And I have used it in the cloud as the serverless gold layer for Apache superset.

      • peesem 2 hours ago
        maybe a niche use case but i've found it's perfect to store & query random trivia/gameshow questions based on filters for my personal clones of things like Family Feud and Jeopardy
      • arpinum 1 hour ago
        ETL from DynamoDB into Ducklake
    • fifilura 4 hours ago
      My favourite is AWS Athena (backed by Trino).

      "If we use this we get indefinite RAM indefinite CPU and do not need to host a server".

      I had an impression that DuckDB was not great at distributing work to other machines, but good at doing it locally? Am I wrong?

      • abirch 3 hours ago
        DuckDB out of the box may not be great. But you have DuckLake, Quack, and even DeepSeek made their own distributed DB based on DuckDB: https://github.com/deepseek-ai/smallpond
      • jtbaker 3 hours ago
        I don't think DuckDB itself can coordinate work across multiple nodes. But you could put it behind an HTTP layer and scale horizontally based on resource utilization?
      • ericpauley 4 hours ago
        Athena + Clickhouse has been an absolute game changer for us. Perfect combo for OLAP + deeper filtering that we can’t necessarily pre-index for.
  • remywang 55 minutes ago
    If you like DuckDB, please consider funding DB research [1]!

    [1]: https://news.ycombinator.com/item?id=49336147

  • ChillyCapy 10 minutes ago
    Great work!

    I built a browser tool for querying local Parquet, CSV, JSON, Excel, Arrow, Avro, DBF, and SQLite files with DuckDB-WASM.

    Most probably after DuckDB v2.0 release I will revamp my tool as well.

  • srameshc 5 hours ago
    I <3 DuckDB. It has become one of my go to tools for storing, data processing , integrations and now even graph. More importantly it's fun to use because it is so portable. Looking forward to v2.
    • fragebogen 5 hours ago
      Ditto! Very happy with the upcoming async support! Now it'll be a nice little db for serving http traffic as well!
  • noodlesUK 2 hours ago
    I look forward to DuckDB being the engine that underpins the next gen of analytical data tooling. DuckLake already looks amazing and with the Quack protocol seems like it will be a great natural fit for lots more types of tooling, such as sensor data etc.
  • amluto 4 hours ago
    If I could have a pet feature added to DuckDB, it would be some form of native ordered table. In a database like Clickhouse or any of the dedicated time series DBMSes or log stores, there’s a built-in concept that a table might have an order, and the database will optimize based on the order. But, for databases that are logically just bags of rows (traditional DBMSes and also DuckDB [0]), you either need an index or you need to rely on full table scans or at least scans of big blocks. DuckDB does the latter really well, but I think it would be quite nice for some workflows to have explicit ordering. Also, I bet compression could work a lot better with ordering hints.

    All that being said, I’m quite excited about DuckDB 2.0. I want to give the improved VARIANT support a try.

    [0] Documentation on DuckDB’s native format is rather sparse AFAICT. But the DDL has nothing resembling an ordered table.

  • c9cf35860db4 5 hours ago
    The last year of DuckDB enhancements feel like the shift from in-process execution engine (which it is phenomenal at) to an engine that can serve as the foundation of a cloud data warehouse. I know the founders were reticent about not wanting to build that, but I have a feeling it is in the works.
    • jbmsf 5 hours ago
      I've been using MotherDuck as a data warehouse for some time now. No regrets.
    • ethagnawl 4 hours ago
      UPDATE: Removed uninformed comment about the relationship between DuckDB and MotherDuck.
  • aleda145 3 hours ago
    Excited about a stable C++ API for extensions!

    I made a dry run extension a few months ago (https://github.com/aleda145/duckdb-dryrun), will be so nice to build it just once and know that it will always work.

    Also urge anyone to make an extension, the template makes it quite smooth: https://github.com/duckdb/extension-template

  • cheema33 50 minutes ago
    With some of these changes, it appears to be encroaching on clickhouse territory. Or are they still very different products?
    • encoderer 16 minutes ago
      Definitely encroaching.

      Our last product (SaaS observability) uses Clickhouse.

      Our next product (self-hosted observability) uses DuckDB.

    • te_chris 30 minutes ago
      Well, I can tell you this is making me actively reconsider dropping duckdb for ch as we go from prototype to prod
  • drannex 3 hours ago
    Really looking forward to that new Async system, especially when reading/querying against thousands of parquet files. This is going to monumentally affect me and my work - I have to query against millions of massive parquet files and the speed has already been rather wonderful, but if those metrics are to be even 100% in range, this is going to make life so much better.

    DuckDB is seriously an incredible utility.

  • d33 2 hours ago
    Are there improvements in how memory_limit works? I often had DuckDB get OOM killed because it went beyond its limit. It's definitely one of the reasons why I usually have an AI tune the environment for my datasets.
  • thejosh 2 hours ago
    I've been working on a demo database project, and have been really impressed by the UI. So glad they decided to put more effort into it, it has made building a "follow along" tutorial really nice.
  • logancbrown 4 hours ago
    Funny to think one of my favorite software projects this decade is basically "lets make it easy to host your own OLAP database".
  • orthoxerox 1 hour ago
    DuckDB keeps getting better and better. I wonder when something like Apache Gluten will pick it up as a backend.
  • anentropic 4 hours ago
    Please document the new "extensible PEG-based parser" for extension authors
  • est 5 hours ago
    This is cool

    What about the runtime size? I care this because I intend to run a stripped WASM version of DuckDB in browser.

    • datadrivenangel 2 hours ago
      They're mostly using optional extensions for this new stuff, so the binaries are still small, like ~20mb?
    • zcw100 4 hours ago
      What do you plan on stripping and what's your target? The Emscripten based build is ~10Mb. I have a component build so I'd be interesting on how you'd like to break it up.
  • dzonga 2 hours ago
    well done to the duckDB team - one of the features I'm waiting for is real time materialized views.
  • sv123 4 hours ago
    DuckDB is so cool, game changer when it comes to local data processing.
  • brunoborges 3 hours ago
    How does DuckDB compares with PostgreSQL / MariaDB ?
    • tuvix 2 hours ago
      DuckDB is an in-process (now I guess less so with Quack) OLAP database for analytical workloads. PostgreSQL or MariaDB are OLTP row-oriented databases that are great for application/transaction-focused workloads but are less great when you want to query across a giant amount of data.
    • tomjakubowski 1 hour ago
      DuckDB is much like SQLite, but built for OLAP workloads: it's in-process, with a single file format on a disk, and (unlike SQLite) the data is stored in columns for better OLAP performance.

      Like SQLite, concurrency options are limited compared to client-server databases like Postgres or MariaDB. DuckDB 2.0 will be adding a client-server mode with the Quack protocol which can allow for greater concurrency.

      But you can also use DuckDB as a multitool to connect to and query all kinds of other data sources from one connection. Being able to pull in data from Postgres, CSVs or parquets on a file system or S3, and JSON returned by a web API, and then query across all of it in one place, can be quite handy for ad-hoc data analysis and exploration.

  • markhalonen 5 hours ago
    Was hoping to see procedural functionality like PL/pgSQL... regardless, an astonishing project overall.
  • formerly_proven 1 hour ago
    In terms of project trajectory this is also an interesting contrast. DuckDB is "SQLite, but for OLAP".

    DuckDB 1.0 was in 2024. DuckDB 2.0 (new API, new storage format, new ...) is in 2026.

    SQLite has been 3.x since 2004.

  • dartharva 1 hour ago
    Would be really cool if they were to add statistical functions too. I'd jump at the chance of getting to use this over pandas
  • jeffbee 4 hours ago
    "We reimplemented ICU" U+1F631 FACE SCREAMING IN FEAR
    • amluto 3 hours ago
      I’m currently contemplating that MySQL apparently cannot do an INSTANT change of the collation of an unindexed column, even though, AFAICT, it has no effect whatsoever on the on-disk format or any data structure at all except for the metadata saying what the column type is.

      I do not enjoy dealing with text encodings and collations in databases.

  • giovannibonetti 3 hours ago
    Disappointed, since I was expecting they would rewrite the implementation from C++ to Zig. I bet that would increase the number of positive pull requests they get, since most developers prefer to stay away from C++ nowadays.
  • valentynkit 1 hour ago
    [dead]
  • hnlb53nrpg 4 hours ago
    Same problem, different day
  • badatnames 4 hours ago
    Looks like an awesome release, but the smell of AI from that post is horrid.

    Here is a wild idea: is it really so hard to edit out sentences structured and punctuated like this - it's so painfully obvious and distracts from the content. The effect is real.

    • drannex 3 hours ago
      I don't really get an AI smell on this, in fact I see multiple parts that an AI would have corrected - grammatical issues, personal writing quirks, etc.

      Writing similar to this: is quite a normal way of writing for technical articles - especially when you are trying to make the point clear and well organized.

      • ostwilkens 2 hours ago
        "A major version bump is not something we do lightly, and it is not just ceremony"

        For me, this sentence pops out like a sore thumb