O identificador exclusivo universal (UUID), também conhecido como identificador exclusivo global (GUID), tem sido amplamente usado em sistemas de computador.
É um código de 128 bits gerado pelo sistema com base em variáveis e constantes: hora atual, endereço MAC, hash SHA-1, namespace MD5. O resultado final da geração de um UUID, exibido como um código alfanumérico de 32 caracteres separados por hifens, pode parecer arbitrário, mas na verdade é o resultado de cálculos complexos. Assim, um computador não “inventa” um código, mas o forma a partir de quantidades técnicas específicas que são relevantes em um determinado momento.
A probabilidade de que o mesmo UUID seja gerado em dois computadores diferentes em momentos diferentes tende a zero, o que torna possível usar os códigos resultantes para identificação de dados pontuais/locais sem referência ao centro de coordenação. Hoje, o UUID/GUID é onipresente em redes online e offline e funciona efetivamente não apenas no espaço global da Internet, mas também em sistemas de computador autônomos.
Histórico UUID
Os códigos UUID de 128 bits foram usados pela primeira vez pela empresa americana Apollo Computer na década de 1980. Eles foram baseados nos códigos de 64 bits mais simples usados no Domain/OS e encontraram uso generalizado no ambiente de computação da Open Software Foundation.
Com o advento das primeiras plataformas Windows, o identificador exclusivo global foi generalizado e padronizado. A Microsoft adotou o design DCE da Apollo Computer e registrou o namespace URN no RFC 4122. Em 2005, este último foi proposto como um novo padrão pelo IETF e o UUID foi padronizado na ITU.
No início de 2002, problemas de desempenho do sistema foram identificados ao usar UUIDs como chaves primárias em bancos de dados locais. Eles foram corrigidos na versão 4 adicionando um sufixo não aleatório com base na hora do sistema do computador. A chamada abordagem COMB (Combined GUID Time Identifier) aumentou os riscos de duplicação de código, mas ao mesmo tempo melhorou significativamente o desempenho ao trabalhar com o Microsoft SQL Server.
Com o desenvolvimento das tecnologias de TI, o identificador único universal deixou de ser uma ferramenta técnica altamente especializada e hoje todos podem usá-lo. A probabilidade de repetição dos códigos gerados não é igual a zero, mas tende a isso, e qualquer informação digital pode ser identificada por eles, após o que podem ser combinados em matrizes de dados únicos com riscos mínimos de repetição.
Benefícios UUID
Os geradores de códigos exclusivos globais não requerem reconciliação/sincronização centralizada de dados e estão disponíveis gratuitamente para todos os usuários. As principais vantagens do UUID incluem:
- Riscos mínimos de "colisão" (repetição) de códigos. Apesar de seu uso massivo, a probabilidade de repetição tende a zero.
- Capacidade de unir diferentes matrizes de dados usando UUIDs como chaves primárias (únicas).
- Distribuição simplificada de dados em vários servidores dispersos.
- Capacidade de gerar códigos off-line.
Códigos de identificação únicos, escritos no formato xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx, permitem que sistemas dispersos reconheçam informação sem coordenação de um único datacenter: com uma probabilidade quase nula de erros/repetições. Esse recurso, juntamente com a facilidade de uso e baixos requisitos de desempenho do computador, torna o UUID em demanda e indispensável em uma ampla variedade de setores de TI e sistemas de computação autônomos.