As IDs dos vídeos do YouTube podem acabar?

Cofundador da @BrazilJS e da @NascHQ, Software developer e autor/editor no portal BrazilJS.

Tecnicamente, sim. Na prática, não.

É o que prova Tom Scott, no vídeo onde aborta o assunto do nosso título.

É de fato intrigante. Ao olhar para a URL de um vídeo do YouTube, você programador, nunca pensou a respeito?

Imagem com a URL do YOuTube

O identificador único do vídeo possui apenas 11 caracteres. Com a quantidade absurda de vídeos que são postados no YouTube, como eles conseguem “garantir” que nunca ficarão sem ID? E quando digo absurda, é absurda mesmo. Tom cita o último relatório do YouTube onde, pasmem, mais de 400 horas de vídeos são produzidas por minuto!

Mas vamos lá, é pura matemática. Nós estamos acostumados com o sistema decimal, aquele de zero à nove (Base 10). text
0 1 2 3 4 5 6 7 8 9
Computadores entendem muito bem números binários (Base 2), diferentemente de nós, meros mortais. text
110111
Computadores também lidam bem com números hexadecimais (Base 16), e humanos conseguem ler. text
0 1 2 3 4 5 6 7 8 9
A B C D E F
Obviamente, para nós humanos, o sistema de contagem decimal ainda é o mais sensato. Não conseguimos lidar bem com outro tipo de contagem que não seja a incremental.

Senhor, este computador custa 1F40 Reais.

Confuso

Ok, mas e o que isso tem a ver com o ID dos vídeos do YouTube? Tudo. O ID do YouTube também usa um sistema de contagem, porém não decimal, nem Base 2 e nem Base 16. Aqui entramos no sistema Base 64.

O sistema de Base 64 também é facilmente entendido por computadores e pode ser lido por humanos.

text
0123456789
ABCDEF
GHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz+/
Usar / ou + na URL não é algo plausível, e neste caso o YouTube substui estes caracaters por -(traço) e _(underscore). Basicamente, um ID do YouTube é um número randômico na Base 64. E sim, isso é o suficiente. Não acredita?

O Tom nos explica. 1 caracter na Base 64 = 64 IDs. 2 caracteres na Base 64 (64×64) = da 4096 IDs. 3 caracteres na Base 64 (64x64x) = 262144 IDs. 4 caracteres na Base 64 (64x64x64x64) = 16777216(16 milhões) IDs. … 7 caracteres na Base 64 = absurdos 4398046511104 IDs. 4 QUADRILHÕES! Meme mother of god

Bom, mas como comentei no início do post, o YouTube usa 11 caracteres para o seu ID. E isso é quanto? 73.786.976.294.838.206.464 IDs.

Sabe quando exageramos em uma frase?

O Sílvio Santos deve ter quintilhões na conta.

Bom, nesse caso não é exagero. É quintilhão mesmo. E para não parar de pensar no absurdo, vamos com o Tom:

Este número é suficiente para cada humano no planeta Terra fazer upload de um video a cada minuto por cerca de 18 mil anos.

Concordo com o Tom, o YouTube realmente se planejou bem para esses IDs.

Vejam o vídeo na íntegra (em inglês sem legenda).


BrazilJS é uma iniciativa NASC