ttools
разработкаидентификаторы

Что такое UUID и когда его использовать

Коротко про uuid v4 — когда брать, чем отличается от инкрементальных ID и почему уникальность гарантирована.

Что это за штука

UUID (Universally Unique Identifier) — стандарт 128-битных идентификаторов, описанный в RFC 4122. Главная идея: сгенерировать уникальный ID, не спрашивая ни у кого разрешения. Два разных компьютера в разных концах света, не общаясь, получат идентификаторы, которые гарантированно не совпадут.

Версии UUID

Их 5 штук, но в реальной жизни встречаются две:

  • v4 — полностью случайный. Используется в 99% случаев. Именно его генерирует crypto.randomUUID().
  • v7 — свежий стандарт (2024), включает временную метку. Сортируется по времени создания, что удобно для индексов в БД.

Почему не автоинкремент

Автоинкрементный ID (1, 2, 3...) требует, чтобы база знала последний номер. В распределённых системах это превращается в узкое место: каждая вставка — запрос к центральному координатору. UUID генерируется на клиенте, без координации, и сразу годится для вставки.

Плюс — UUID непредсказуем: зная URL /order/42, можно попробовать открыть /order/43. С UUID такой фокус не проходит.

Где применяется

  • Идентификаторы записей в распределённых базах
  • Ключи в событийных шинах (Kafka, RabbitMQ)
  • Токены активации, инвайт-ссылки
  • Имена файлов для загрузок
  • Session ID

Про уникальность

Вероятность совпадения двух случайных UUID v4 так мала, что даже если генерировать миллиард штук в секунду в течение 100 лет, вероятность коллизии остаётся пренебрежимо малой. На практике считается, что коллизий не бывает.

Генератор UUID создаёт до 500 штук за раз через браузерныйcrypto.randomUUID, с опциями регистра и без дефисов.

Инструменты по теме