DuckDB Introduces Quack Client-Server Protocol
Original: Quack: The DuckDB Client-Server Protocol
Why This Matters
Expands DuckDB's use cases to multi-process environments and concurrent access scenarios
DuckDB has released Quack, a new client-server protocol that enables multiple concurrent writers to connect to DuckDB instances. The protocol builds on HTTP technology and supports both bulk operations and small transactions while maintaining DuckDB's simplicity.
DuckDB announced Quack, a remote protocol that allows DuckDB instances to communicate in client-server setups. Previously, DuckDB operated as an in-process database, which worked well for data science and embedded applications but struggled with multiple concurrent writers accessing the same database file. The team cited technical challenges with synchronizing memory state across processes as the reason for the limitation. While workarounds existed, including custom RPC solutions and third-party protocols like Arrow Flight SQL, the proliferation of such solutions demonstrated user demand for native client-server capabilities. Quack aims to address use cases like telemetry collection with simultaneous dashboard queries, positioning DuckDB as a universal data wrangling tool that supports both in-process and distributed architectures.