2 puntos por GN⁺ 2023-06-29 | 1 comentarios | Compartir por WhatsApp
  • TypeIDs: una extensión segura por tipo inspirada en la API de Stripe, basada en UUIDv7.
  • Los TypeIDs están compuestos por un prefijo de tipo, un separador con guion bajo y un UUIDv7 de 128 bits codificado en base32 de 26 caracteres.
  • Los TypeIDs ofrecen ventajas como seguridad por tipo, compatibilidad con UUID, capacidad de ordenamiento por K y una codificación cuidadosamente diseñada.
  • Los TypeIDs son compatibles con el próximo estándar UUIDv7 y pueden usarse como clave primaria en bases de datos con buena localidad.
  • TypeIDs está implementado en Go y SQL, y próximamente habrá implementaciones en Python, Rust y TypeScript.
  • El artículo menciona una herramienta de línea de comandos para generar, decodificar y codificar TypeIDs.
  • El artículo también menciona trabajos relacionados con UUIDv7 y alternativas a UUIDv7 como xid, ulid y ksuid.

1 comentarios

 
GN⁺ 2023-06-29
Opiniones de Hacker News
  • Se propuso bloquear y documentar las cadenas de prefijo, permitiendo un solo delimitador para tipos compuestos.
  • La implementación del identificador en Go carece de pruebas, y necesita tests unitarios.
  • Otra propuesta es alinearlo con la implementación de UUID de Google en Go, usando una función de análisis y un arreglo interno de bytes en lugar de cadenas.
  • Se elogió que las decisiones de diseño del identificador logran un buen equilibrio entre distintos trade-offs.
  • Otro comentarista compartió su propio enfoque para generar identificadores únicos, usando base 32 sin vocales y agregando un checksum.
  • Critican la codificación de Crockford y proponen base 58 como una codificación más efectiva y concisa.
  • Se compartió un enlace al sistema base-32 de Crockford, y se expresó confusión porque la letra "U" fue excluida debido a la "obscenidad accidental".
  • Un comentarista compartió el uso de "ID etiquetados" en ORM, y lamentó no haber usado guion bajo como delimitador para copiar y pegar.
  • Se enfatizó la importancia de los detalles en la implementación de identificadores.
  • Se mencionó el deseo de que UUIDv7 se vuelva el estándar y que bibliotecas y bases de datos lo soporten por defecto.
  • Se discutieron las ventajas y desventajas de UUIDv4 para bases de datos; en aplicaciones de bases de datos distribuidas se prefiere UUIDv4.
  • Se destacó la utilidad de poder seleccionar todo el ID con doble clic.
  • Se recomendó ksuid como un generador alternativo de ID que ofrece un espacio de claves más grande y marcas de tiempo ordenables.
  • ksuid fue elogiado como el mejor generador de ID de propósito general, con bibliotecas para la mayoría de los lenguajes, mientras que UUID v1-7 se considera un desperdicio.