Генератор UUID v7

Генератор UUID Randogram позволяет сгенерировать всемирно уникальный идентификатор версии 7.
UUID версии 7 начинается со времени Unix в миллисекундах — это 48 бит, — а остальные разряды заполняются случайно. Идентификаторы сортируются по времени создания и при этом не раскрывают ни узел, ни счетчик. Это рекомендуемый выбор, когда нужен и уникальный ключ, и порядок вставки: индекс базы данных растет с одного края.
Вы можете также воспользоваться публичным API генератора UUID

Вопросы и ответы

Можно ли узнать по UUID версии 7 время создания записи?
Да, первые 48 бит — это время Unix в миллисекундах, и достается оно из идентификатора без всяких ключей. Для внутренних ключей это удобно, а для публичных ссылок стоит помнить, что момент создания виден каждому, кто увидит идентификатор.
Подходит ли версия 7 на роль первичного ключа?
Да, это ее основное назначение. Значения растут вместе со временем, поэтому вставки идут в один край индекса, а не разбрасываются по нему, как у версии 4. При этом 74 бита остаются случайными, так что соседний ключ по известному не угадать.
Что будет, если создать несколько идентификаторов в одну миллисекунду?
Старшие 48 бит у них совпадут, а разойдутся они случайными разрядами, поэтому останутся уникальными. Порядок внутри одной миллисекунды при этом не гарантирован: если он важен, храните рядом отдельное поле с порядковым номером.