Smart Client
- Dominant language
- C
- Stars
- 12.8k
- Forks
- 794
- Avg merge
- 2d 14h
- Merged PRs (30d)
- 31
Description
For single-shard queries:
- A client issues the query on the coordinator.
- The coordinator finds the right node and sends the query to that node.
- The query gets executed on the node.
- The result is fetched to the coordinator.
- The result is returned to the client from the coordinator.
If clients knew where the query should be executed the flow would be:
- The client issues the query on the node that has the shard.
- The query gets executed on the node, with local execution, avoiding an extra connection.
- The result is returned to the client from the node.
So, we would avoid the extra round trip from coordinator to the node and would also distribute the load a bit.
We can have a client side library, to make clients “smart clients”, which know what node has the data for a given value.
We should do some performance test to see what would be the potential performance benefit of `smart clients`.
Contributor guide
Assessment
This issue has not been assessed yet.