Форум: "Прочее";
Текущий архив: 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]
← →
Пробегал... (2008-03-06 18:48) [41]clickmaker © (06.03.08 18:47) [40]
можешь отредактировать, благо Wiki это позволяет
это ее принцип. И что дальше?
← →
clickmaker © (2008-03-06 18:51) [42]
> [41] Пробегал... (06.03.08 18:48)
я не доверяю энциклопедиям, которые может редактировать кто угодно.
Это мой принцип
← →
Пробегал... (2008-03-06 18:57) [43]clickmaker © (06.03.08 18:51) [42]
я не доверяю энциклопедиям, которые может редактировать кто угодно
а ты попробуй изобразить из себя "кого угодно" и отредактировать. И узнаешь.
clickmaker © (06.03.08 18:51) [42]
Это мой принцип
а, ну принципы великая вещь. "Я не доверяю советской энциклопедии, потому что ее делали в совке"
← →
clickmaker © (2008-03-06 18:57) [44]
> DiamondShark © (06.03.08 11:20)
кстати, поздравляю. Тебе удалось добиться вероятности
1 / 5,316,911,983,139,663,491,615,228,241,121,400,000
:)
← →
Пробегал... (2008-03-06 18:59) [45]кстати, мои поздравления тоже ;) Это круче чем выиграть в лотерею милилард долларов. В смысле вероятность меньше ;)
← →
Пробегал... (2008-03-06 19:02) [46]хотя с другой стороны смотря что за база... Если они там используют террабайтные базы - страшно подумать сколько там записей.
← →
ЦУП © (2008-03-06 19:07) [47]
> Пробегал... (06.03.08 18:45) [39]
> clickmaker © (06.03.08 18:37) [35]
> ты бы еще ссылку на чей-нибудь хомяк на народе.ру привел
> )
>
> а что ты имеешь против википедии? Это отличная энциклопедия
> и база знаний.
И не всегда говорит правду.
А если есть ложь в одном месте, в другом она тоже может быть.
← →
DiamondShark © (2008-03-06 19:10) [48]
> clickmaker © (06.03.08 18:57) [44]
>
> > DiamondShark © (06.03.08 11:20)
>
> кстати, поздравляю. Тебе удалось добиться вероятности
> 1 / 5,316,911,983,139,663,491,615,228,241,121,400,000
> :)
Ну, это ерунда. Я каждую секунду добиваюсь куда меньшей вероятности. Например, если посчитать вероятность того, что я вдохну именно те молекулы воздуха, что я вдохнул, число получится ещё более ужасное
;)
← →
Пробегал... (2008-03-06 19:18) [49]ЦУП © (06.03.08 19:07) [47]
И не всегда говорит правду
во-первых, правда - понятие относительное. Люди разные.
Если же говорить о фактических ошибках - может, ты приведешь название энциклопедии, где нет ошибок. Особенно сравнимой по размерам с википедией ;) :)
← →
Пробегал... (2008-03-06 19:19) [50]DiamondShark © (06.03.08 19:10) [48]
да и какую вероятность мы все испытали в самом начале своего жизненного пути.
← →
DiamondShark © (2008-03-06 19:21) [51]
> Пробегал... (06.03.08 18:57) [43]
> clickmaker © (06.03.08 18:51) [42]
> я не доверяю энциклопедиям, которые может редактировать
> кто угодно
>
> а ты попробуй изобразить из себя "кого угодно" и отредактировать.
> И узнаешь.
Наслаждайся:
http://ru.wikipedia.org/wiki/GUID
Я в курсе, что там иногда чистят гадости, поэтому:
http://shark2005.land.ru/wikisux.jpg
Но одно дело -- откровенное хулиганство, а другое дело -- хорошо подобранная лапша, которую не всякий спец отличит от правды.
← →
Пробегал... (2008-03-06 19:27) [52]DiamondShark © (06.03.08 19:21) [51]
Наслаждайся:
http://ru.wikipedia.org/wiki/GUID
а кто сказал, что Microsoft не сволочи?
DiamondShark © (06.03.08 19:21) [51]
а другое дело -- хорошо подобранная лапша, которую не всякий спец отличит от правды
но если отличаешь и у тебя есть аргументы - пожалуйста, измени статью и все.
← →
Пробегал... (2008-03-06 19:30) [53]я вообще не понимаю, как можно определить, что это неправда. Надо или быть сотрудником MS отвечающим за реализацию алгоритма или доверять слухам.
Появление алгоритма обратного преобразования в МАК адрес докажет слух. А вот отсутствие в свободном доступе этого алгоритма не доказывает обратного.
← →
DiamondShark © (2008-03-06 19:32) [54]
> Пробегал... (06.03.08 19:27) [52]
Может и сволочи, но это не энциклопедично ;)
Я не вандал, изменение откатил, но факт налицо: пока модераторы не посмотрят, даже хулиганство может провисеть заметное время.
← →
Пробегал... (2008-03-06 19:38) [55]DiamondShark © (06.03.08 19:32) [54]
Может и сволочи, но это не энциклопедично ;)
а вот это спорный вопрос. Для википедии может и нормально. Надо понимать что это за библиотека. Для советской энциклопедии да, было бы неэтично.
Напиши такое в бумажном издательстве - MS могли бы в суд подать, наверное. А вики пофигу. И это, имхо, не недостаток.
← →
DVM © (2008-03-06 20:56) [56]
> Сегодня на двух машинах совпали сгенерированные гуиды.
я ж говорил!
← →
korneley © (2008-03-06 21:04) [57]А что это вы всё про "кто сказал", "где написано", что GUID уникален, а не к тому, как сделать уникальным ID записи в условиях _шибко распределенной_ генерации этих самых ID?
Вариант "в лоб" максималистический: каждой базе данных, свой диапазон. Не ГУИД-ов, а просто инкрементов. Посчитать сколько надо на 1000 лет, умножить на 3. Определить разрядность. Мне 32-х бит хватило с запасом на базу по жителям района г. Москва. База велась в разных местах, и, далее, сливалась в одну. Не хватает 32-х бит, добавьте еще. Вопрос: "А как рулить дипазонами?" - организационный.
← →
Petr V. Abramov © (2008-03-06 22:25) [58]
> Alex Konshin © (06.03.08 14:01) [12]
> Riply © (06.03.08 17:37) [23]
предлагаю консенсус:
поработать над [23] учитывая [12]
:)
P.S.
Законы Мэрфи имеют приоритет над законами больших чисел
P.P.S.
нравится это кому-л. или нет
← →
Пробегал... (2008-03-06 22:28) [59]korneley © (06.03.08 21:04) [57]
"А как рулить дипазонами?" - организационный
а репликацию ты тоже вручную делаешь?
← →
clickmaker © (2008-03-07 11:57) [60]
> Появление алгоритма обратного преобразования в МАК адрес
> докажет слух
собственно, зачем далеко ходить. Википедия, БСЭ, слухи...
Все в MSDN есть:
Prior to Windows 2000, GUIDs were generated based on the Universally Unique Identifier (UUID), defined as part of DCE RPC. In a nutshell, the UUID derives its uniqueness from the current date and time, plus the unique 48-bit IEEE 802 address from your network interface card (NIC).
Beginning with Windows 2000, GUIDs are no longer generated based on this algorithm. Instead, they are random 16-byte integers generated by invoking the random number generator provided by the CryptoAPI. Why the change? Most likely it was because of a privacy issue that emerged early in 1999. Microsoft® Office was using the GUID as a unique identifier in data files. This had the unfortunate side effect of allowing a document to be linked back to its creator via the NIC address used in the GUID. Putting GUIDs in data files, it turned out, was bad for security: it broke anonymity.
← →
Пробегал2... (2008-03-07 12:36) [61]clickmaker © (07.03.08 11:57) [60]
ну так что получается... Получается, википедия права? ;) ЧТД.
А DiamondShark не очень прав. Вот я о том и говорил - из-за отсутствия у тебя примеров реализации чего-либо нельзя делать уверенных выводов, что этой реализации нет в природе ;)
← →
clickmaker © (2008-03-07 12:42) [62]
> ну так что получается... Получается, википедия права? ;)
> ЧТД.
да собственно, и хрен-то с ней )
я к тому, что если и кидать ссылки, то на первоисточники, хотя бы. К MSDN доверия все-таки больше
← →
Пробегал2... (2008-03-07 13:07) [63]clickmaker © (07.03.08 12:42) [62]
то на первоисточники, хотя бы. К MSDN доверия все-таки больше
Так нет проблем. Ссылку сказали - зайди на страничку вики и припиши ссылку на MS на доказательство и все. Люди спасибо скажут.
← →
ANB (2008-03-07 13:16) [64]Дамс. Почитав ветку, сделал вывод - хотя в МС СКЛ репликация организована более удобно и надежно, чем в оракле, автоматическое использование гуидов для идентификации записей сводит все преимущества на нет. Уж лучше я под оракл свою репликацию нарисую, зато смогу пользоваться автоинкрементом, а уж уникальность их обеспечить - куча способов.
← →
Кщд (2008-03-07 13:50) [65]>ANB (07.03.08 13:16) [64]
>Уж лучше я под оракл свою репликацию нарисую, зато смогу пользоваться автоинкрементом, а уж уникальность их обеспечить - куча способов.
всё уже нарисовано на streams)
← →
ProgRAMmer Dimonych © (2008-03-07 14:15) [66]> clickmaker © (07.03.08 11:57) [60]
> Most likely it was because of a privacy issue that emerged early in 1999.
Если мой 9-летний опыт изучения англ. языка на углубленном уровне (правда, 2-летней давности :)) не изменяет мне, то Most likely - это что-то типа "наиболее вероятно", "вероятнее всего". У меня возник вопрос: они в Microsoft одни сами по себе проги пишут, другие балуются, редактируя MSDN как Википедию?
← →
J_f_S (2008-03-07 14:30) [67]Не верю! :)
← →
clickmaker © (2008-03-07 14:42) [68]
> [66] ProgRAMmer Dimonych © (07.03.08 14:15)
это из серии "так давно это было, что никто толком не помнит уже, почему" )
← →
ANB (2008-03-07 15:03) [69]
> всё уже нарисовано на streams)
Иде ? А какого тогда я парился со штатной репликацией ? (и выкинул, ее, в результате).
Дай наводку.
Страницы: 1 2 вся ветка
Форум: "Прочее";
Текущий архив: 2008.04.20;
Скачать: [xml.tar.bz2];
Память: 0.62 MB
Время: 0.043 c