DuckDB has released Quack, a new client-server protocol that enables multiple DuckDB instances to communicate and share data over HTTP. Built as a DuckDB extension, Quack allows concurrent writes from multiple processes — a long-standing limitation of DuckDB's in-process architecture. The protocol uses DuckDB's own serialization format (application/duckdb MIME type), supports token-based authentication with extensible callbacks, and defaults to port 9494. Benchmarks show Quack outperforms both PostgreSQL and Arrow Flight SQL for bulk transfers (60M rows in under 5 seconds) and also beats PostgreSQL for small concurrent writes up to 8 threads. Security is handled via random tokens and localhost-only binding by default, with nginx recommended as a reverse proxy for internet exposure. Future plans include DuckLake integration, replication support, and a production release with DuckDB v2.0 in fall 2026.

16m read timeFrom duckdb.org
Post cover image
Table of contents
Background: Database ArchitecturesIntroducing the Quack Protocol for DuckDBProtocol DesignBenchmarksConclusionAcknowledgementsAppendix: Why Not Arrow Flight SQL?

Sort: