How is dynamic allocation realized in mysql slicing technology?

when I read the relevant knowledge of mysql database sharding, I saw that dynamic allocation uses a dictionary table to store partition key values and shard numbers, through which the shard number can be found. However, it is not clear how the newly added partitioning key is assigned to the shard number if it is not found in this dictionary table. Is it still the same as the fixed shard mode or hash consistency?. But if this is the way to assign a part number, what is the difference between a fixed allocation and a fixed allocation, and why should it be stored in a dictionary table? Is it in order to first match the dictionary table when querying to reduce the number of query fragments? Does anyone know anything about this piece?

Apr.11,2021

my understanding is that dynamic sharding is to solve the uneven data of sharding .
1. The dictionary table is created so that the subsequent added data can be dynamically shredded to make the data more uniform;
2. As for what is uniform, the newly added data is allocated to the shard with a small amount of data , and the shard number and the newly added data are associated and recorded in the dictionary table.
3, and the current shards with a small amount of data can be sorted by calculating the number of records in each shard, and take the smallest shard. This is dynamic. It is also skillful to calculate the number of records of fragments

.
MySQL Query : SELECT * FROM `codeshelper`.`v9_news` WHERE status=99 AND catid='6' ORDER BY rand() LIMIT 5
MySQL Error : Disk full (/tmp/#sql-temptable-64f5-1e9aadc-17fb.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
MySQL Errno : 1021
Message : Disk full (/tmp/#sql-temptable-64f5-1e9aadc-17fb.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
Need Help?