hn.today

Measuring Quack: DuckDB's New Client-Server Protocol

ramonactruta.substack.com6 points0 comments
Screenshot of Measuring Quack: DuckDB's New Client-Server Protocol

Quack is DuckDB’s beta client-server protocol, which lets one DuckDB instance execute work through another over HTTP. It has two modes: attach mode makes remote tables appear local, leaving the client to plan queries and stream table data; pushdown mode sends SQL to the server for remote execution. To measure the network layer’s cost, the author built a benchmarking lab that emphasizes reproducible experiments rather than isolated timing claims. Each result is stored with its raw timings, configuration, software and hardware details, and safeguards for identifying changes or tampering. Experiments use regenerated data, cold-cache runs, and five replications per condition.

The first experiment compared in-process DuckDB, Quack attach, and Quack pushdown across tables of 1,000 to 10 million rows. It used an unfiltered aggregation that always returns 12 rows, keeping output size constant while the amount of data scanned grows. The results overturn the hypothesis that network overhead would fade as scans grew: attach mode slowed from 2.6 times in-process at 100,000 rows to 9.5 times at 10 million, with a fitted scaling exponent near 0.55. Because attach streams table data to the client, its overhead increases with scan size. Pushdown stayed near twice the in-process time across scales, with a similar scaling pattern, since only the small result set crosses the network. The comparison identifies data streaming, rather than returning query results, as the source of attach mode’s growing cost.

Read on ramonactruta.substack.com0 comments on Hacker News

Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.

More in Programming

Ggml v1.0.0

Ggml v1.0.0

ggml 1.0.0 removes deprecated public APIs and legacy DIAG_MASK operations, while adding configurable YaRN truncation and FP8 support. It also improves backend performance with quantized matrix multiplication, fused MoE operations, and new attention and scheduling paths. (github.com)

The daily digest

Today's best Hacker News stories, summarized and screenshotted, one email a day.