From what I understand, for any write (txn or otherwise),
- alpha leader needs to get new UID from zero (if new data is added and not just an update)
- change gets proposed to the alpha group and consensus needs to be reached i.e majority of the alphas need to acknowledge the write
- then it needs to go to zero to mark the write/txn as complete
- zero makes sure changes are consistent and issues timestamps, marking the change as complete
- each of the alpha move txn from pre-write state to committed state.
- Also, every write to same predicate HAS to go through same alpha group.
What all this means is that write speeds can’t be horizontally scaled.
For example, if I increase number of alphas in a group, (or increase number of zeroes in the cluster) it will not improve write speeds.
So is the below statement correct?
in dgraph, given a alpha group for predicateX, write speeds can’t be horizontally scaled for predicateX, by adding more alphas to the group it belongs to. (or by adding more zeroes to the cluster)
(Read speeds can be horizontally scaled by using best-effort txns)