Форум: "Прочее";
Текущий архив: 2008.04.20;
Скачать: [xml.tar.bz2];
ВнизУра! Это всё-таки случилось. Найти похожие ветки
← →
DiamondShark © (2008-03-06 11:20) [0]Сегодня на двух машинах совпали сгенерированные гуиды.
Как жить? Кому верить?
← →
DrPass © (2008-03-06 11:22) [1]Мир был близок к коллапсу как никогда...
← →
DiamondShark © (2008-03-06 11:24) [2]
> Мир был близок к коллапсу как никогда...
Кстати, да.
Это были rowguid в репликации. Совпали на вставленных записях на разных машинах.
← →
clickmaker © (2008-03-06 11:29) [3]
> на разных машинах.
а как же истории про то, что там использутся мак-адреса и прочая уникальная хрень?
← →
pasha_golub © (2008-03-06 11:29) [4]
> clickmaker © (06.03.08 11:29) [3]
А вы, батенька, тоже рассказывайте. (с)
← →
Правильный_Вася (2008-03-06 11:40) [5]
> Сегодня на двух машинах совпали сгенерированные гуиды.Как
> жить?
генерировать на одной машине, на другой только пользовать готовые
← →
DrPass © (2008-03-06 12:00) [6]
> Правильный_Вася (06.03.08 11:40) [5]
> генерировать на одной машине, на другой только пользовать
> готовые
Ага, особенно красиво в этом случае будет выполняться репликация. Сначала реплицируем таблицу ГУИДов, потом натягиваем их на данные и реплицируем записи :)))
← →
ПРавильный_Вася (2008-03-06 12:03) [7]зачем?
нагенерить гуидов впрок или создать сервер гуидов, который будет поставлять их при необходимости по запросу
правда, если он сломается, то шанс повторения на новом железе сервера увеличивается
← →
Rouse_ © (2008-03-06 12:05) [8]Дай угадаю - на обоих машинах 98-ой или Ме?
← →
clickmaker © (2008-03-06 12:14) [9]
> на обоих машинах 98-ой или Ме?
а на них кто-то еще репликацию делает? o)
← →
ф2 (2008-03-06 12:19) [10]
> а на них кто-то еще репликацию делает? o)
они еще и серверами выступают
← →
Riply © (2008-03-06 13:14) [11]Не верю ! (с)
Вероятность ошибки программиста в милионы раз больше.
← →
Alex Konshin © (2008-03-06 14:01) [12]Вы просто законы Мерфи не учитываете.
А вас ведь предупреждали :)
← →
antonn © (2008-03-06 14:15) [13]
> а как же истории про то, что там использутся мак-адреса
> и прочая уникальная хрень?
а что, участие мак-адреса гарантирует отсутствие коллизий? :)
← →
Marser © (2008-03-06 14:42) [14]
> а что, участие мак-адреса гарантирует отсутствие коллизий?
> :)
Если его не менять своими шаловливыми ручками :-))
← →
Mystic © (2008-03-06 14:43) [15]> DiamondShark © (06.03.08 11:20)
Долго старался?
← →
Пробегал... (2008-03-06 14:45) [16]а что, там у вас тоже гуиды генерируются тысячу раз в секунду? Имхо, это именно неправильная архитектура.
Если GUID использовать именно для COM-приложений - я думаю совпадение гуидов на одном компе у разных программных продуктов будет очень маловероятно.
← →
Пробегал... (2008-03-06 14:45) [17]как, наверное, и планировалось разработчиками.
← →
Пробегал... (2008-03-06 14:45) [18]Удалено модератором
← →
Поп Гапон (2008-03-06 16:56) [19]Написать свою обертку-класс, которая будет получать GUID раз в секунду и прибавлять еще к нему 64-битное значение - скажем номер тома диска.
← →
Поп Гапон (2008-03-06 16:57) [20]ну и 32-битный рандом
← →
Kenny (2008-03-06 17:18) [21]Один админ закупил подешевке несколько сетевых карт NoName. Потом долго удивлялся, почему у него локальная сеть не работает: у всех карточек был один и тот же мак-адрес ))
← →
DiamondShark © (2008-03-06 17:29) [22]
> Имхо, это именно неправильная архитектура.
Расскажи это микрософту, который использует гуиды для идентификации строк при репликации.
> Написать свою обертку-класс, которая будет получать GUID
> раз в секунду и прибавлять еще к нему 64-битное значение
> - скажем номер тома диска.
Расскажи это микрософту, который использует гуиды для идентификации строк при репликации.
← →
Riply © (2008-03-06 17:37) [23]> [22] DiamondShark © (06.03.08 17:29)
> Расскажи это микрософту, который использует гуиды для идентификации строк при репликации.
Позволю себе повториться: ищи ошибку в программе.
← →
Пробегал... (2008-03-06 17:56) [24]DiamondShark © (06.03.08 17:29) [22]
который использует гуиды для идентификации строк при репликации
как это? Он для каждой записи в БД присваивает свой GUID?
← →
DiamondShark © (2008-03-06 18:08) [25]
> Пробегал... (06.03.08 17:56) [24]
> как это? Он для каждой записи в БД присваивает свой GUID?
Именно так.
← →
Пробегал... (2008-03-06 18:18) [26]блин, не понимаю. А почему бы не делать просто PK с автоинкриментом?
← →
Pong (2008-03-06 18:21) [27]Если мне не изменяет память, компания Microsoft уже довольно давно отказалась от использования MAC-адреса в алгоритме генерирования GUID"ов. Насколько мне помнится, это было связано с вопросами безопасности, так как по GUID"у можно было определить MAC-адрес компьютера, на котором GUID был сгенерирован.
← →
DiamondShark © (2008-03-06 18:22) [28]
> Пробегал... (06.03.08 18:18) [26]
> блин, не понимаю. А почему бы не делать просто PK с автоинкриментом?
И как ты себе представляешь автоинкремент, согласованный между удалёнными, разъединёнными узлами?
← →
Marser © (2008-03-06 18:25) [29]
> И как ты себе представляешь автоинкремент, согласованный
> между удалёнными, разъединёнными узлами?
Счётчик на сервере :-)
← →
Pong (2008-03-06 18:28) [30]И как ты себе представляешь автоинкремент, согласованный между удалёнными, разъединёнными узлами?
64-битное значение, в котором первые 32 бита - идентификатор компьютера, вторые 32 бита - собственно, сам автоинкремент.
← →
DiamondShark © (2008-03-06 18:28) [31]
> Pong (06.03.08 18:21) [27]
Это старая байка, сродни той, что если сложить коды символов в названии Виндовс95, то получится 666.
Во-первых, мак-адрес только мог использоваться, как один из источников квазиуникального числа.
Во-вторых, он никогда не использовался в явном виде, допускающем обратное восстановление.
← →
Пробегал... (2008-03-06 18:30) [32]DiamondShark © (06.03.08 18:22) [28]
ну в смысле, что различие компьютеров может по тому же GUID"у, а вот различие записей по PK.
← →
Pong (2008-03-06 18:32) [33]DiamondShark © (06.03.08 18:28) [31]
http://ru.wikipedia.org/wiki/GUID
← →
DiamondShark © (2008-03-06 18:36) [34]
> Пробегал... (06.03.08 18:30) [32]
А мелкософт клал на существующие PK. Как только ты реплицируешь таблицу, он создаёт там гуид-поле с уникальным индексом и default=NEWID(), и ориентируется только на него.
← →
clickmaker © (2008-03-06 18:37) [35]
> [33] Pong (06.03.08 18:32)
ты бы еще ссылку на чей-нибудь хомяк на народе.ру привел )
← →
Pong (2008-03-06 18:41) [36]clickmaker © (06.03.08 18:37) [35]
Ты баба, или у тебя стиль аргументации такой? Если тебе не нравится информация, приведенная по ссылке - можешь отредактировать, благо Wiki это позволяет. А языком "ляп-ляп" - это на форумы для подростков, пожалуйста.
← →
Пробегал... (2008-03-06 18:42) [37]DiamondShark © (06.03.08 18:36) [34]
и default=NEWID(),
хех, а это поле уникально? В смысле, очень интересно - разработчики сами верят в уникальность GUID"ов и не позаботились об уникальности вставки или все-таки БД проверяет перед заполнением есть ли такое значение уже у других записей? ;)
← →
clickmaker © (2008-03-06 18:45) [38]
> это на форумы для подростков
а кто сказал, что здесь не форум для подростков? )
← →
Пробегал... (2008-03-06 18:45) [39]clickmaker © (06.03.08 18:37) [35]
ты бы еще ссылку на чей-нибудь хомяк на народе.ру привел )
а что ты имеешь против википедии? Это отличная энциклопедия и база знаний.
← →
clickmaker © (2008-03-06 18:47) [40]
> а что ты имеешь против википедии?
"можешь отредактировать, благо Wiki это позволяет."
(c) Pong [36]
Страницы: 1 2 вся ветка
Форум: "Прочее";
Текущий архив: 2008.04.20;
Скачать: [xml.tar.bz2];
Память: 0.53 MB
Время: 0.04 c