Обе версии занимают 128 бит и используют вариант RFC, но решают разные задачи хранения. UUIDv4 отдаёт 122 информационных бита случайности. UUIDv7 сначала записывает Unix-миллисекунды, а 74 бита оставляет случайными, поэтому порядок байтов примерно следует времени создания.

Что означают биты

В UUIDv4 всё случайно, кроме четырёх битов версии и двух битов варианта RFC. UUIDv7 начинается с 48-битных Unix-миллисекунд, затем идут версия, случайные данные, вариант RFC и ещё случайные данные. Метка времени — видимые данные, а не подпись. UUIDv7 из одной миллисекунды зависят от случайной части и не обязаны сортироваться по порядку вызовов.

Выбирайте под целевую систему

UUIDv4 широко поддерживается и не раскрывает время создания. UUIDv7 может улучшить локальность индекса при каноническом сравнении байтов и упростить просмотр журналов. Сначала проверьте хранение и сортировку UUID в БД: текстовая collation, порядок байтов, драйвер и специальная раскладка GUID могут изменить результат.

Точно формулируйте уникальность

Ни одна версия математически не гарантирует глобальную уникальность. Практический риск коллизии зависит от генератора, объёма и реализации. Используйте криптографический источник, сохраняйте все 128 бит и добавляйте unique constraint, когда этого требует модель данных. UUIDLens берёт новые байты Web Crypto, но не может проверить чужие генераторы или распределённую систему.