Что такое Генератор UUID v6
UUID v6 берёт ту же 60-битную метку времени, что и v1, но помещает её в старшие биты (big-endian), поэтому лексикографический порядок строк совпадает с хронологическим. Это делает v6 идеальным для первичных ключей БД, где важен порядок вставки.
v6 входит в RFC 9562 — обновление 2024 года, добавившее v6, v7 и v8. Он сохраняет то же 48-битное поле узла, что и v1, но никогда не раскрывает реальный MAC, если вы не зададите его сами.
Как использовать
- Укажите, сколько UUID нужно (1–1000).
- Включите верхний регистр, дефисы и фигурные скобки.
- Нажмите Сгенерировать, чтобы вычислить упорядоченные по времени значения v6.
Сценарии
- Первичные ключи в базах данных, которым нужна монотонная вставка.
- Пути миграции с систем v1, требующих хронологической сортировки.
- Хранилища событий, где порядок должен сохраняться в ID.
Сравнение Генератор UUID v6 с другими форматами
| Option | When to use |
|---|---|
UUID v6 | Метка v1 переупорядочена; сортировка по времени |
UUID v7 | Время в миллисекундах + случайность; современный выбор |
UUID v1 | Исходная раскладка; время в средних полях |
Code examples
JavaScript
import { v6 } from 'uuid';
const id = v6(); // упорядочен по времени, совместим с v1
Python
# библиотека PyUUID / uuid6
from uuid6 import uuid6
id = uuid6()
Frequently asked questions
Чем v6 отличается от v1?
Они делят одну метку времени и узел, но v6 помещает метку в начальные байты, поэтому ID сортируются хронологически как строки. v1 разбрасывает время по полям, нарушая сортировку строк.
v6 лучше v7?
Для новых проектов обычно предпочтительнее v7: его точность в миллисекундах и случайный хвост проще и лучше поддержаны. v6 существует для совместимости с задачами сортировки эпохи v1.
Раскрывает ли v6 MAC-адрес?
Нет — как и v1 на этом сайте, поле узла случайно, а не ваш реальный MAC.