Pergunta

Eu preciso criar objetos e torná-los disponíveis na web. Da mesma forma para stackoverflow, eu tenho algo parecido.

http://stackoverflow.com/users/78374

No entanto, no meu caso o ID do objeto que criar deve ser único, por isso estou pensando em um UUID, levando a uma URL como

http://example.com/users/{8e931066-7d87-4f2b-a3b5-608c4c9a9083}

porque mais tarde eu vou ter que mesclar bancos de dados diferentes juntos, e eu não quero ter fundir questões.

Esta é uma prática aceita? Quais são as alternativas?

Foi útil?

Solução

Se é apenas uma questão de fundir bases de dados, dando a cada db um identificador único e, em seguida, combinar isso com a PK auto-incremento daria ids únicos para cada objeto que você pode usar e não se preocupar com a fusão questões.

Outras dicas

Não há nenhum problema nisso. Hotmail faz isso.

Se a fusão deve ser 100% sem costura, em seguida, um UUID é provavelmente a sua melhor aposta. Se você estiver olhando para gerar mais URL do humano-amigável, você pode considerar o uso de um único "Nome da conta" que o usuário pode definir. Isso seria potencialmente criar conflitos se fundir bases de dados, mas eles podem ser superados.

Concordo que esta é uma prática aceitável, pois mantém o ID de usuário único quando usá-lo durante vários bancos de dados e aplicações.

Eu uso a mesma prática em meu bloco de aplicação cache. O bloco de aplicação cache gera um GUID quando um item é armazenado em cache e os usos do aplicativo que GUID para recuperar o item do cache.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top