Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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
2-1206367188
webSQLNeederr
2008-03-24 16:59
2008.04.20
Алгоритм удаления повторяющихся строк в TStringList


15-1204791647
DiamondShark
2008-03-06 11:20
2008.04.20
Ура! Это всё-таки случилось.


15-1205124920
xVlad
2008-03-10 07:55
2008.04.20
Си в delphi


2-1206074528
atomAltera
2008-03-21 07:42
2008.04.20
Как программно вывести контекстное меню какого нибудь файла?


8-1178797443
BaryVetaL
2007-05-10 15:44
2008.04.20
Проблема псевдо 3D





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский