UUID es la abreviatura de Universal Unique Identifier, lo que significa que estamos ante un identificador único generado por máquina de un cierto rango.
Esto quiere decir que dos UUID que se generan de manera correcta, prácticamente no tienen ninguna posibilidad de ser idénticos, aunque sean creados en lugares y entornos diferentes. Por eso hablamos de un identificador único.
Para que esté garantizado el hecho de ser único, se definen elementos que incluyen la dirección MAC, de la tarjeta de red del ordenador donde se crea, la marca de tiempo, el espacio de nombres, el número aleatorio (aunque a veces es pseudoaleatorio) y otros elementos, así como el algoritmo para generar el propio UUID a partir de todo lo que te hemos comentado.
Toda esta complejidad significa que solamente puede ser generado por un ordenador, si lo que pretendemos es garantizar su singularidad, es decir, que sea único del todo.
Ninguno se puede especificar de manera manual. Esto tiene su sentido, ya que ningún usuario normal debería saber que objetos están asociados con un UUID, porque si se pudiera se correría el riesgo de duplicarlos y que quedaran inservibles.
Lo que debemos tener claro es que el objetivo principal denoticias /tecnologia/han-desarrollado-algoritmo-puede-descifrar-numeros-secretos-incluso-nos-tapamos-mano-955661" title="Algoritmos para descifrar números secretos"> un algoritmo definido por la generación de UUID es que sea único, singular y totalmente fidedigno.
Un UUID es un número de 16 bytes y 128 bits, que generalmente vendrá representado por una cadena de 36 bytes. Las letras se expresan en hexadecimal.
Podemos decir que se compone de varias partes:
Los UUID tienen varias versiones con diferentes algoritmos y rangos.
Dichas versiones son las siguientes:
Utilicemos la versión que utilicemos, el identificador que veremos será prácticamente igual, salvo por los detalles que hay en cada versión, siendo las numero 3 y 5 las más utilizadas, sobres todo la numero tres por su carácter aleatorio.
Un ejemplo de cadena UUID sería:
16763be4-6022-406e-a950-fcd5018633ca
Como puedes observar el valor se representa como cinco grupos de caracteres alfanuméricos separados por guiones. Los guiones no son un componente obligatorio de la cadena, puesto que lo único que hacen es que el identificador sea mucho más fácil de percibir para el ojo humano.
Repasamos la historia de los lenguajes de programación desde el primero de 1801 a los más recientes. A lo largo de la historia han existido muchos lenguajes de programación y compiladores para ''interpretar'' esos lenguajes, y estos son los más importantes.
Los UUID se suelen usar para crear identificadores únicos descentralizados. Se generan como seguros en un código de back-end, un dispositivo cliente o su motor de base de datos.
Antes, la mayoría de las aplicaciones empleaban un campo entero de incremento automático como clave principal. Eso provocaba que no se podía conocer la ID hasta que no estaba en la base de datos. Gracias a los UUID se puede identificar mucho antes.
Veamos una demostración de PHP sin utilizar UUID.
cloudsavvyit
Se tiene que hacer referencia a la propiedad con null, ya que no se puede saber la ID real, porque esto tiene que ocurrir después de ingresar la base de datos.
Si queremos solucionarlo solo debemos cambiar a UUID para solucionar el problema.
cloudsavvyit
Ahora los identificadores se pueden generar sin problemas, conociéndolos y, por lo tanto, no correr el peligro de duplicidades.
Esto garantiza que las instancias de objetos siempre representen un estado válido y no necesiten propiedades de ID, además de facilitar el manejo de los registros secundarios que necesitan una referencia a su elemento principal (como Author) se pueden insertar en el momento, sin tener que esperar a que sea insertada una base de todas.
Los UUID también lo ayudan a combinar datos de varias fuentes. Son únicos y eso los convierte en las mejores opciones para estructuras replicadas y datos que se mueven con frecuencia entre diferentes sistemas de almacenamiento.
Aun así, los UUID tienen ciertos inconvenientes como que son cuatro veces más grandes que los números enteros, lo que puede ser un hándicap en grandes conjuntos de datos.
Otro de los inconvenientes es que los valores son complicados de ordenar e indexar, sobre todo en los UUID aleatorios más comunes. Esto puede ser contraproducente con el rendimiento en algunos casos.
De todas formas, esto último que os contamos se puede mitigar si se usan UUID como datos binarios, como ocurre en bases de datos como PostgreSQL o MySQL, donde se puede convertir una cadena UUID a binaria.
Esperamos que después de todo lo que has leído entiendas de mejor manera que es un UUID, cómo funciona y las posibilidades que ello tiene, junto con sus ventajas y desventajas.
0 Comments:
Publicar un comentario