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!