Previously, in The lifecycle of a sharded Postgres query , the router had to join customers and orders itself, because each table was sharded by its own ID. The fix was to shard orders by customer_id , hashed and mapped the same way as customers . In Neki, that fix is called a “shard group.” Sharding splits a table’s rows across multiple Postgres clusters, called shards.