This above, is basically a “sharding” strategy with what we already have. No deep core code needs to be changed.
Once we have this. We need to add in the query execution. A way to loop over those generated predicates concurrently. At root it is easy, you just create on the fly several blocks and shoot them against the network. But nested ones are tricky.
We could also add a rule for tablets. If wildcards aliases is being used. No predicate shard should be at the same group or if not enough groups to accommodate them. Let them be even across groups.
Linked to