Quack: The DuckDB Client-Server Protocol
duckdb.org
Quack: The DuckDB Client-Server Protocol
1–10 of 91 posts
Re: Quack: The DuckDB Client-Server Protocol
#2Re: Quack: The DuckDB Client-Server Protocol
#3I like DuckDB but I'm not sure what it wants to be. There's always new ways to use it and it's not easy to see what's the right one.
I can't think of many use cases for this and Arrow Flight, other than moving data around.
Re: Quack: The DuckDB Client-Server Protocol
#4I like DuckDB but I'm not sure what it wants to be. There's always new ways to use it and it's not easy to see what's the right one.
+1 I can't think of many use cases for this and Arrow Flight, other than moving data around.
This is not commercially a terrible idea. Why keep paying Snowflake for bog-standard SQL query workload when SF makes it easy to migrate to Iceberg & commodity engines like MotherDuck?
Re: Quack: The DuckDB Client-Server Protocol
#5I can definitely see exploring this for some homelab use.
Re: Quack: The DuckDB Client-Server Protocol
#6I like DuckDB but I'm not sure what it wants to be. There's always new ways to use it and it's not easy to see what's the right one.
Re: Quack: The DuckDB Client-Server Protocol
#7Earlier quoted context omitted.
+1 I can't think of many use cases for this and Arrow Flight, other than moving data around.
The use case is local user DuckDB talking to MotherDuck for $. This is not commercially a terrible idea. Why keep paying Snowflake for bog-standard SQL query workload when SF makes it easy to migrate to Iceberg & commodity engines like MotherDuck?
https://duckdb.org/quack/faq#what-is-the-relationship-betwee...
Of course, in the future MotherDuck can also support Quack, but this is not the only interesting use case for Quack.
Re: Quack: The DuckDB Client-Server Protocol
#8Earlier quoted context omitted.
The use case is local user DuckDB talking to MotherDuck for $. This is not commercially a terrible idea. Why keep paying Snowflake for bog-standard SQL query workload when SF makes it easy to migrate to Iceberg & commodity engines like MotherDuck?
Hello, DuckDB DevRel here. Quack is independent from MotherDuck. MotherDuck has its own proprietary protocol, which has been around for years and it supports things like dual execution – see more here: https://duckdb.org/quack/faq#what-is-the-relationship-betwee... Of course, in the future MotherDuck can also support Quack, but this is not the only interesting use case for Quack.
Just making the point that DuckDB is disruptive technology & what it’s most likely to disrupt.
Re: Quack: The DuckDB Client-Server Protocol
#9This is wrong, HTTP is bad for transferring large amount of data and it is also bad for doing streaming.
It is bad for large amount of data because you have timeout issues on some clients, you hit request/response size limits etc.
It is obviously bad for streaming as there is no concept of streaming in it.
It is comical to go the path of least resistance so lazy people can put a reverse proxy on top of it. And then say HTTP is the only relevant way to do it in 2026.
The benchmark doesn't seem to mean much as TCP can max out 50GB/s on a single thread. Pretty sure it can do more than that even. So you could be using anything that isn't terrible and you should get max performance out of this.
Also the protocol is something else from the format. For example if you are transferring mp4 over ftp and http you can compare that.
If you are transferring different things over different protocols then the comparison means nothing.
The benchmark graph for bulk transfer should show more granularity so it is possible to understand how much of the % of the hardware limit it is reaching. Similar to how BLAS GEMM routines are benchmarked based on the % of theoretical max flops of the hardware.
> 60 million rows (76 GB in CSV format!)
This reads a bit disingenuous.
It is dissappointing to see this instead of something like PostgreSQL protocol with support for a columnar format.
Re: Quack: The DuckDB Client-Server Protocol
#10I like DuckDB but I'm not sure what it wants to be. There's always new ways to use it and it's not easy to see what's the right one.
+1 I can't think of many use cases for this and Arrow Flight, other than moving data around.