Что такое UUID?

Я думаю, что этот способ лучше:

SELECT * FROM "comments" WHERE ("comments"."id" IN (1,3,2,4))
    ORDER BY  id=1 DESC, id=3 DESC, id=2 DESC, id=4 DESC
40
задан Juha Syrjälä 12 August 2009 в 18:30
поделиться

4 ответа

Это - идентификационный номер, который однозначно определит что-то. Причем идея - тот, что идентификационный номер будет универсально уникален. Таким образом никакие две вещи не должны иметь тот же uuid. На самом деле, если бы необходимо было генерировать 10 триллионов uuids, то было бы что-то вроде.00000006 шансов двух uuids тех, чтобы быть тем же.

56
ответ дан 27 November 2019 в 01:08
поделиться

Стандартизованные идентификаторы

UUID определены в RFC 4122 . Это универсальные уникальные идентификаторы, которые могут быть созданы без использования централизованных полномочий. Существует четыре основных типа UUID, которые используются в немного разных сценариях. Все UUID имеют длину 128 битов, но обычно представлены в виде 32 шестнадцатеричных символов, разделенных четырьмя дефисами.

UUID версии 1, наиболее распространенные, объединяют MAC-адрес и временную метку для получения достаточной уникальности. В случае, если несколько UUID генерируются достаточно быстро, чтобы отметка времени не увеличивалась до следующего поколения, отметка времени вручную увеличивается на 1. Если MAC-адрес недоступен или его присутствие нежелательно по причинам конфиденциальности, Вместо этого для идентификатора узла могут использоваться 6 случайных байтов, полученных из криптографически безопасного генератора случайных чисел.

UUID версий 3 и 5, наименее распространенные, используют хеш-функции MD5 и SHA1 соответственно, плюс пространство имен плюс уже уникальное значение данных для создания уникального идентификатора. Это может использоваться, например, для генерации UUID из URL.

UUID версии 4 - это просто 128 битов случайных данных, с некоторыми изменениями битов для идентификации версии и варианта UUID.

Конфликты UUID: крайне вряд ли произойдет, особенно не в одном пространстве приложения.

49
ответ дан 27 November 2019 в 01:08
поделиться

Это - очень длинная строка битов, которая, как предполагается, уникальна теперь и навсегда, т.е. никакое возможное столкновение с любым другим UUID, произведенным Вами или кем-либо еще в мире.

способ, которым это работает, просто использует текущую метку времени и связанное с Интернетом уникальное свойство компьютера, который генерировал его (как IP-адрес, который должен быть уникальным в данный момент, Вы подключены к Интернету; или MAC-адрес, который является большим низким уровнем, зашитым идентификатором для Вашей сетевой платы), часть строки битов.

Первоначально каждая сетевая плата в мире имеет свой собственный уникальный MAC-адрес, но в более поздних поколениях, можно изменить MAC-адрес через программное обеспечение, таким образом, это не так надежно как уникальный идентификатор больше.

8
ответ дан 27 November 2019 в 01:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: