UUID v7 генератор
Генерирайте UUID v7 идентификатори с вградени Unix Epoch времеви печати, масово генериране и опции за формат
Вход
Изход
Прочети ме
Какво е UUID v7?
UUID v7 е най-новата версия на универсално уникалните идентификатори, дефинирана в RFC 9562. За разлика от по-старите версии като UUID v4 (изцяло случаен) или UUID v1 (използва MAC адрес), UUID v7 вгражда 48-битов Unix Epoch времеви отпечатък в милисекунди директно в идентификатора. Това прави стойностите на UUID v7 естествено сортируеми по време на създаване — значително предимство при индексиране на бази данни, разпределени системи и регистриране на събития, където хронологичният ред е от значение.
Тъй като UUID v7 не включва MAC адреси, той избягва проблемите с поверителността, свързани с UUID v1. Останалите битове след времевия отпечатък и полетата за версия/вариант се запълват със случайни или монотонни данни, което гарантира уникалност дори когато множество UUID-та се генерират в рамките на една и съща милисекунда.
Как е конструиран UUID v7
UUID v7 се състои от 128 бита, организирани по следния начин:
- Битове 0–47: 48-битов беззнаков Unix Epoch времеви отпечатък в милисекунди с голям ред на байтовете
- Битове 48–51: 4-битово поле за версия, зададено на
0111(7) - Битове 52–63: 12 бита случайни или монотонни данни за прецизност под милисекунда или уникалност
- Битове 64–65: 2-битово поле за вариант, зададено на
10(RFC 9562) - Битове 66–127: 62 бита случайни или монотонни данни за допълнителна уникалност
Тази структура означава, че UUID-та, генерирани по-късно във времето, винаги ще се сортират след по-ранните на ниво милисекунда, което ги прави идеални като първични ключове в бази данни с B-tree индексиране.
Описание на инструмента
Този генератор на UUID v7 създава UUID от версия 7, съответстващи на RFC 9562, с визуална разбивка на вградения времеви отпечатък. Генерирайте един или до 100 UUID наведнъж, превключвайте между форматиране с главни и малки букви и изберете дали да включите тирета. Инструментът също така извлича и показва вградения Unix Epoch времеви отпечатък от първия генериран UUID, позволявайки ви да проверите времето на създаване, кодирано във всеки идентификатор.
Примери
| Формат | Примерен резултат |
|---|---|
| Стандартен | 019544a2-3b4c-7d8e-9f01-2a3b4c5d6e7f |
| Главни букви | 019544A2-3B4C-7D8E-9F01-2A3B4C5D6E7F |
| Без тирета | 019544a23b4c7d8e9f012a3b4c5d6e7f |
Функции
- Групово генериране: Генерирайте от 1 до 100 стойности на UUID v7 наведнъж с плъзгач за количество
- Превключване на главни букви: Превключвайте между изход с малки и главни букви
- Превключване на тирета: Включвайте или премахвайте тирета за компактни формати
- Извличане на времеви отпечатък: Автоматично показва вградения Unix Epoch времеви отпечатък от генерирания UUID
- Поддръжка на изтегляне: Експортирайте генерираните UUID-та като текстов файл за групова употреба
Случаи на употреба
- Генерирайте сортируеми по време първични ключове за бази данни в голям мащаб, където производителността при вмъкване и локалността имат значение
- Създавайте монотонно нарастващи идентификатори за разпределени системи за поточно предаване на събития като Kafka или Pulsar
- Заменете UUID v4 в приложения, които се нуждаят от хронологично наредждане без отделна колона за времеви отпечатък
UUID v7 спрямо други версии
| Версия | Базиран на време | Сортируем | Безопасен за поверителност | Случайност |
|---|---|---|---|---|
| v1 | Да | Не | Не (използва MAC) | Ниска |
| v4 | Не | Не | Да | Висока |
| v6 | Да | Да | Не (използва MAC) | Ниска |
| v7 | Да | Да | Да | Средна |
UUID v7 съчетава най-добрите качества: сортируемост, базирана на времето, без излагане на хардуерни идентификатори, с достатъчно случайност за предотвратяване на колизии в разпределени възли.
Обяснение на опциите
- Количество (1–100): Колко стойности на UUID v7 да се генерират в една партида. Всички UUID-та в партидата споделят приблизително един и същ времеви отпечатък, но се различават по случайните си битове.
- Главни букви: Когато е активирано, извежда UUID-та с главни hex символи (A–F вместо a–f).
- Тирета: Когато е активирано (по подразбиране), UUID-тата включват стандартното групиране с тирета 8-4-4-4-12. Деактивирайте за компактен hex низ от 32 символа.
Често задавани въпроси
Може ли UUID v7 да предизвика колизии?
Колизиите са изключително малко вероятни. Дори в рамките на една и съща милисекунда, 74-те бита случайни/монотонни данни осигуряват над 18 квинтилиона възможни комбинации. Библиотеката uuid също използва монотонни броячи, за да гарантира уникалност в рамките на един процес.
Съвместим ли е UUID v7 с UUID v4? Да. UUID v7 следва същия 128-битов формат 8-4-4-4-12 и е валиден навсякъде, където се приемат UUID-та. Съществуващите колони за UUID, парсъри и валидатори работят без модификация.
Кога трябва да използвам UUID v7 вместо UUID v4? Използвайте UUID v7, когато вашият случай на употреба се възползва от ключове, наредени по време — например като първични ключове в бази данни, където производителността на B-tree индекса се подобрява при последователни вмъквания. Използвайте UUID v4, когато наредждането е без значение и искате максимална случайност.