segunda-feira, 26 de novembro de 2007

PostgreSQL 8.3: Você Sabe o que são UUIDs?

Enquanto a versão 8.3 continua em testes, as novas funcionalidades ainda são desconhecidas para muitos dos usuários. Uma das inovações prevista é o uso de UUIDs.

O termo UUID (Universally Unique Identifier) nomeia identificadores que podem ser empregados por exemplo como substituição à chave primária das tabelas, servindo como alternativa aos campos tipo SERIAL do PostgreSQL e ao uso de OIDs.

Os OIDs (identificadores de objetos) do PostgreSQL não são recomendáveis para tabelas com muitos registros, mas o novo UUID promete suprir esta lacuna.

Também são chamados de GUIDs (Globally Unique Identifier), termo que também pode designar a implementação da Microsoft dos UUIDs em seus produtos.

A UUID é essencialmente um número de 16 bytes. Com 128 bits, a quantidade de registros que pode ser endereçada é enorme, viabilizando a sua utilização como identificador em grandas bancos de dados. O número de variações possíveis de UUIDs é de 216*8 = 2128 = 25616 ou cerca de 3.4 × 1038. Para dar uma idéia do tamanho deste número, basta afirmar que para se cobrir todas as possibilidades e exaurir um campo tipo UUID, teria de ser gerado 1 trilhão de UUIDs a cada nanosegundo por 10 bilhões de anos (o cálculo não é meu)!

Exemplo de UUID em Hehadecimal: 5f23d248-a353-4044-9e5a-04518ac20b94

Boas referências de código podem ser obtidas na Wikipedia. Outro site interessante é o GUID generator


Nenhum comentário: