UUID (Universally Unique Identifier) и коллизии
От: Oaks  
Дата: 06.12.13 09:56
Оценка:
Wiki

....Основное назначение UUID — это позволить распределённым системам уникально идентифицировать информацию без центра координации. Таким образом, любой может создать UUID и использовать его для идентификации чего-либо с приемлемым уровнем уверенности, что данный идентификатор непреднамеренно никогда не будет использован для чего-то ещё. Поэтому информация, помеченная с помощью UUID, может быть помещена позже в общую базу данных, без необходимости разрешения конфликта имен.
Вероятность совпадения UUID при генерации 2e250 ключей.
p(250) = 1.87e-9....

А что можно сделать ,если все-таки коллизии произошли ?
К примеру что делают существующие программы ? reset ?
Re: UUID (Universally Unique Identifier) и коллизии
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 06.12.13 12:43
Оценка:
Здравствуйте, Oaks, Вы писали:

O>Wiki

O>

O>....Основное назначение UUID — это позволить распределённым системам уникально идентифицировать информацию без центра координации. Таким образом, любой может создать UUID и использовать его для идентификации чего-либо с приемлемым уровнем уверенности, что данный идентификатор непреднамеренно никогда не будет использован для чего-то ещё. Поэтому информация, помеченная с помощью UUID, может быть помещена позже в общую базу данных, без необходимости разрешения конфликта имен.
O>Вероятность совпадения UUID при генерации 2e250 ключей.
O>p(250) = 1.87e-9....

O>А что можно сделать ,если все-таки коллизии произошли ?

А как? Ну разве что на типе 4, который чисто случайный...
Ну и помнить, что он не защищён, то есть намеренно применить чужой идентификатор — тривиально.

O>К примеру что делают существующие программы ? reset ?


Смотря что им надо делать... reset чего, собственно?
The God is real, unless declared integer.
Re[2]: UUID (Universally Unique Identifier) и коллизии
От: avpavlov  
Дата: 06.12.13 13:21
Оценка: +1 :))
N>Смотря что им надо делать... reset чего, собственно?

Очевидно, reset нашей Вселенной
Re: UUID (Universally Unique Identifier) и коллизии
От: Sharowarsheg  
Дата: 06.12.13 15:47
Оценка:
Здравствуйте, Oaks, Вы писали:

O>А что можно сделать ,если все-таки коллизии произошли ?

O>К примеру что делают существующие программы ? reset ?

Например, из нескольких значений с одинаковым UUID/GUID первое оставить, а остальные молча выкинуть.
Re[3]: UUID (Universally Unique Identifier) и коллизии
От: Кодт Россия  
Дата: 07.12.13 19:26
Оценка: :)
Здравствуйте, avpavlov, Вы писали:

N>>Смотря что им надо делать... reset чего, собственно?


A>Очевидно, reset нашей Вселенной


Не поможет: через 14 млрд лет снова возникнет ровно та же коллизия.
Перекуём баги на фичи!
Re: UUID (Universally Unique Identifier) и коллизии
От: nikov США http://www.linkedin.com/in/nikov
Дата: 08.12.13 18:53
Оценка: 34 (3)
Здравствуйте, Oaks, Вы писали:

O>А что можно сделать, если все-таки коллизии произошли ?


Если в программе обнаружилась коллизия, то скорее всего это не коллизия, а (гораздо более вероятная) ошибка программиста, например, положили/взяли GUID не из той переменной.

http://blogs.msdn.com/b/ericlippert/archive/2012/04/24/guid-guide-part-one.aspx
http://blogs.msdn.com/b/ericlippert/archive/2012/04/30/guid-guide-part-two.aspx
http://blogs.msdn.com/b/ericlippert/archive/2012/05/07/guid-guide-part-three.aspx
Re: UUID (Universally Unique Identifier) и коллизии
От: Roman Odaisky Украина  
Дата: 22.12.13 00:20
Оценка: +3
Экономить их надо! А то все, кому не лень, генерируют и генерируют, не напасешься!

Опомнитесь! Мировой запас UUID’ов ограничен! Подумайте об экологии в следующий раз, как рука потянется к кнопке «Сгенерировать»! И обязательно отдавайте старые ненужные UUID’ы на утилизацию. Что мы оставим потомкам-то?
До последнего не верил в пирамиду Лебедева.
Re: UUID (Universally Unique Identifier) и коллизии
От: Lepsik Гондурас https://www.kirdyk.club/
Дата: 22.12.13 06:19
Оценка: -1
O>А что можно сделать ,если все-таки коллизии произошли ?
O>К примеру что делают существующие программы ? reset ?

90e5d249-10df-4e10-aa98-8401cf61efe6

сделай инкремент четверки
Re[2]: UUID (Universally Unique Identifier) и коллизии
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 22.12.13 09:03
Оценка:
Здравствуйте, Lepsik, Вы писали:


O>>А что можно сделать ,если все-таки коллизии произошли ?

O>>К примеру что делают существующие программы ? reset ?

L>90e5d249-10df-4e10-aa98-8401cf61efe6


L>сделай инкремент четверки


И при чём тут SHA-1?
The God is real, unless declared integer.
Re[2]: UUID (Universally Unique Identifier) и коллизии
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 24.12.13 11:00
Оценка:
Здравствуйте, Roman Odaisky, Вы писали:

RO>Экономить их надо! А то все, кому не лень, генерируют и генерируют, не напасешься!


RO>Опомнитесь! Мировой запас UUID’ов ограничен! Подумайте об экологии в следующий раз, как рука потянется к кнопке «Сгенерировать»! И обязательно отдавайте старые ненужные UUID’ы на утилизацию. Что мы оставим потомкам-то?


Старая шутка Синклера, десятилетней давности
Re[3]: ну да (-)
От: Roman Odaisky Украина  
Дата: 24.12.13 12:22
Оценка:
До последнего не верил в пирамиду Лебедева.
Re[3]: UUID (Universally Unique Identifier) и коллизии
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 24.12.13 15:09
Оценка:
Здравствуйте, Ikemefula, Вы писали:

RO>>Экономить их надо! А то все, кому не лень, генерируют и генерируют, не напасешься!


RO>>Опомнитесь! Мировой запас UUID’ов ограничен! Подумайте об экологии в следующий раз, как рука потянется к кнопке «Сгенерировать»! И обязательно отдавайте старые ненужные UUID’ы на утилизацию. Что мы оставим потомкам-то?


I>Старая шутка Синклера, десятилетней давности


Мы тут давеча меряли, сколько пройдёт до переполнения 64-битного счётчика при потоке 3000 событий в секунду.
194 миллиона лет... где-то как раз от начала юрского периода.

А в UUID'ах не 64, а 128 бит. Хотя если каждый человек начнёт их потреблять с темпом альфа-ритма...
The God is real, unless declared integer.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.