I learned that Dgraph shards upon predicates, and i was wondering to which extent the admin is able to control the shard policies,
in particular I’d like to be able to decide that some specific predicate-value should be stored to some specific Alphas only, and never in others.
the use case:
We’re developing a federated platform:
Different organizations may independently deploy a platform instance
An instance may join a certain federation, in that case the underlying Alpha would join the federation shard
Sharded data should be available and searchable from any federated instance, but should be guaranteed to be stored and mutated in the generating instance’s local Alpha only, and never in others
I guess if it would be possible to achieve this by storing federated data under some specific predicate, probably the same predicate for all nodes, but with a different @prefix - this would mess with the “lang@*” feature for languages support, but that would be a a good tradeoff
should/could every federated instances run their own Zero too ?
also, this scenario would raise some questions about trust between federated Alphas/Zeros
in particular, how to prevent tampering of the agreed sharding policies ?