Нажми «Сгенерировать», чтобы получить UUID

Что содержит UUID v7

UUID v7, стандартизованный в RFC 9562, начинается с 48-битной метки времени Unix в миллисекундах, затем идут 12 бит дополнительной точности или случайности, а завершают его 62 случайных бита. Полубайт версии (13-я позиция) всегда равен 7, а полубайт варианта (17-я позиция) — 8, 9, a или b. Поскольку метка времени стоит в начале, созданные позже идентификаторы всегда сортируются после более ранних как обычный текст — последовательность в базе данных не нужна.

Пример: 018f3d9c-7b21-7a4e-9c30-6d5f1e2a8b44. Ведущая часть 018f3d9c7b21 — это текущее время в миллисекундах, цифра 7 обозначает версию 7, цифра 9 — вариант, а хвост случаен. Последовательные UUID v7 монотонны в пределах одной миллисекунды, потому что ничью разрешает случайный счётчик, поэтому они аккуратно дописываются в конец B-дерева, а не разбрасываются по нему. Предпочитайте v7 для первичных ключей и журналов событий; выбирайте случайный v4, когда идентификатор не должен раскрывать время создания.

Как сгенерировать UUID v7

  1. Нажмите «Сгенерировать», чтобы получить UUID v7, упорядоченный по времени.
  2. Создайте несколько подряд — они отсортируются в порядке создания.
  3. Скопируйте их для сортируемых первичных ключей или идентификаторов в журналах.
  4. Нужны непрозрачные идентификаторы без порядка? Откройте страницу UUID v4.

UUID v7 — частые вопросы

Сортируются ли значения UUID v7?

Да. Первые 48 бит — это метка времени в миллисекундах, поэтому лексикографический порядок совпадает с порядком создания; случайный хвост не даёт одновременным значениям совпасть.

Раскрывает ли UUID v7 время создания?

Да, он показывает время создания с точностью до миллисекунды. Для журналов и ключей базы данных это обычно нормально, но если метка времени чувствительна — используйте v4.

UUID v4 или v7 для ключа базы данных?

v7: упорядоченный префикс дописывает вставки в конец индекса и предотвращает разбиение страниц, которое вызывают случайные v4. Выбирайте v4, если нужны полностью непрозрачные идентификаторы.

Работает полностью в браузере: метка времени и случайные биты берутся из часов вашего устройства и crypto.getRandomValues(), а не с сервера.

На главную