WASM I/O

Session

Look who's talking!

Carlo Piovesan
blend-mode

Carlo PiovesanDuckDB Labs

Dynamic linking: DuckDB extensions in Wasm

Carlo Piovesan - DuckDB Labs

DuckDB is an in-process DBMS to handle most data sources and process any analytical query. Even better: it can be compiled to WebAssembly, enter DuckDB-Wasm, that runs the same logic within a WebWorker / Worker.

DuckDB’s most powerful feature: it’s extensible at runtime. Think Python or JavaScript modules, but for SQL. Example: users can do LOAD extension_name; to expose new types and functions to the language. Behind the scenes this will download, perform checks, and then dlopen the relevant binary, registering new functionality.

How to have dynamic linking work? And how to make it work with modules built by different toolchains (of different versions), and have them work together? And how to make this work at scale, managing complexity for external contributors that might not be Wasm-aware? This is a tale of the past 2 years, plenty of problems we found and wrong turns that we took, to get to the current status of DuckDB extensions for Wasm.

View all Sessions

Secure
your ticket!

  • Early Bird
    SOLD OUT

    Early Bird

    297 €

    Until December 15th

    2-Day Conference
    Auditori L'illa

  • Standard
    Ticket WASM I/O 25

    Standard

    379 €

    Until February 23rd

    All Things Webassembly

    Barcelona

    Mar • 27- 28 • 2025

    2-Day Conference
    Auditori L'illa

  • Late Bird
    After 23rd Feb

    Late Bird

    24 Feb 25 - 26 Mar 25

WASM I/O 2025 WASM I/O 2025

Stay
in the loop!

Join our newsletter now: