I do not work or develop for IMDB nor do i know how their database is structured
i think the number will just increase. you see given that these seems like unique numbers it is most likely just using an INT on the database.
if we use this UTF-8 byte calculator we see that any number between 0000001 and 9999999 is 7 bytes, however as this SO Answer indicates
It depends what is the character and what encoding it is in:
- A Unicode character in UTF-8 encoding is between 8 bits (1 byte) and 32 bits (4 bytes).
and this if of cause assuming that the number is being stored as a UTF-8 string.
on the other hand, assuming that IMDB uses Microsoft SQL (T-SQL) there are 4 choices of INT Datatypes, tinyint, smallint, int and bigint. since best practice is to use the smallest size possible for your expected data and the numbers are 7 digits, if we make the assuming that the numbers in the URL are an INT then we can see that IMDB is probably using
int | -2^31 (-2,147,483,648) to 2^31-1 (2,147,483,647) | 4 Bytes
this mean their max ID would not be 9,999,999 but 2,147,483,647. and this would be smaller as the string 2147483647 which is 10 bytes using our calculator above
but then why would it start at 0000001 as opposed to 0000000001? i don't know. the site does 404 if you try https://www.imdb.com/name/nm1/ but if we add 0's to the start like
they all work. but as soon as you drop bellow 7 digits it will start to 404. i also don't know if https://www.imdb.com/name/nm0000001/ will stop working all of a sudden but a good web admin would set up a 301 Redirect for those who might have the page bookmarked or cited as a reference