DuckDB announced the release of the Quack remote protocol on May 12, allowing multiple DuckDB instances to communicate in a client-server architecture for the first time [1, 2]. Quack supports multiple concurrent writers and is designed to be simple to set up and fast, addressing performance limitations in the original DuckDB design [1, 2].

Before Quack, DuckDB had an in-process architecture launched in 2019. This model works well for interactive and embedded use cases but struggles when multiple processes modify the same database file concurrently [1, 2]. Traditional databases have used client-server architectures since the 1980s, beginning with Sybase, to handle such concurrent access better [1, 2].

Quack builds on proven technologies such as HTTP to enable communication between DuckDB instances. The use of HTTP aims to simplify deployment and ensure speed and scalability in multi-user environments [1, 2].

The development of Quack was motivated by use cases involving multiple concurrent writers and querying, especially scenarios like telemetry data insertion and dashboards where many clients need simultaneous database access [1, 2].

By introducing Quack, DuckDB extends its functionality beyond single-process access, facilitating modern workflows requiring shared data access and collaboration across instances. The protocol officially launched on May 12, marking a significant expansion of DuckDB's capabilities [1, 2].