Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.04.20;
Скачать: CL | DM;

Вниз

Ура! Это всё-таки случилось.   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.64 MB
Время: 0.02 c
2-1206715069
TerminalHead
2008-03-28 17:37
2008.04.20
Нужна помощь! получение сигнала из COM порта для новичка,


4-1186639228
Classic
2007-08-09 10:00
2008.04.20
Необходимо перехватить момент печати на принтере


2-1206273219
Бегущий человек
2008-03-23 14:53
2008.04.20
Как заюзать функцию из С-файла в проекте Delphi?


2-1206529642
Renat
2008-03-26 14:07
2008.04.20
Как построить диаграмму на основе данных из БД?


15-1205146184
Raven
2008-03-10 13:49
2008.04.20
Изучение дополнительно еще одного языка