Hi, Temporal community-
I’m currently using an un-sharded Vitess (MySQL) for my persistence store, and I’ve been looking at horizontal scalability via sharding there.
Just to fact-check my understanding - I understand range_id
to be a monotonically increasing number per shard that protects against multiple hosts processing a shard at once. My understanding is primarily coming from this 2017 Cadence meetup video: Cadence Meetup: Cadence Architecture - YouTube.
But that video didn’t explain what a range_hash
is and how that relates to range_id
(if it does), or other entities such as namespaces, workflows, tasks, and queues.
In the context of sharding tables based on the first column in their composite primary key, is there an explanation of how range_hash
is calculated and how it is used by tasks & task queues?
Thank you so much!