I read this post on how to deal with large partitions and partitioning hotspots, their solution is to add a sharding key as part of the partition key, and keep the shard size at a fixed size, say 1000. The fixed shard size even helps pagination.
But my question is, how can we keep a fixed shard size? In my understanding, the common approach for hotspot issue is to add a sharding key (random_number % n for example) to the partition key to split hotspots, but it does not guarantee to limit shard size, wondering how it works out in their approach.