UUIDs y los objetos persistentes

Chema Cortes pych3m4 en gmail.com
Jue Nov 15 12:57:50 CET 2007


Después de estar unos días cambiando los arranques de mis servidores
linux para que usaran UUIDs de disco, me ha sorprendido gratamente que
en python 2.5 se haya incluído el módulo 'uuid' para la generación de
este tipo de identificadores.

En lugar de intentar crearme mis propios identificadores, basados en
fecha y hora de creación, me estoy planteando usar UUIDs para
identificar objetos persistentes (eg: registros en bases de datos,
documentos, etc). La idea es que estos objetos esten almacenados en
varios servidores y medios de almacenamiento (dvds, discos, ...),
conformando lo que sería una base de datos documental "distribuída".

No sé si tenéis experiencia con estos identificadores, pero antes de
usarlos me surgen algunas dudas:

- ¿qué tan baja es la probabilidad de repetir dos identificadores?
Asumo que en una organización pequeña es imposible que se repitan los
uuid; pero con internet es complicado hacerse una idea de lo que es o
no "posible". Ya sé que son identificadores de 128bits, pero no tengo
clara cuál es la garantía de unicidad del algoritmo utilizado
(reconozco que no he entrado de lleno a analizarlo).

- ¿qué son los "namespaces" (uuid3 y uuid5)? Más bien parecen una
especie de "seeds" a la hora de generar los hashes (md5 y sha-1), pero
la especificación RFC-1422 no entra en explicaciones. ¿Existe algún
criterio para usar un namespace u otro? En un primer momento pensaba
en usar NAMESPACE_OID para los registros en una base de datos y
NAMESPACE_URL para los documentos. ¿Sería éso correcto?
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





Más información sobre la lista de distribución Python-es