citusdata / citusdata/citus

Smart Client

Open
#5,177 1 comment 1 reaction 0 assignees View on GitHub
feature mx
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.