ďťż
 
Jaki jest algorytm generowaniu wartosci GUUID ? ďťż
 
Jaki jest algorytm generowaniu wartosci GUUID ?
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

Jaki jest algorytm generowaniu wartosci GUUID ?



Sowiecki Agent - 25-09-2007 00:10
Jaki jest algorytm generowaniu wartosci GUUID ?
  WItam!
Jaki jest algorytm generowania wartosci guuid? Czy jest zalezny od
aktualnego czasu ( z sekundami) ? Chodzi mi konkretnie o MS sql server.
Chcialbym zrobic export pewnej czesci rekordow i wlasnie z tymi wartosciami
(ze wzgledu na liczne powiazania) a mam pewne obawy co do tego czy na dwoch
roznych komputerach z mssql server nie wsytapia te same wartosci.
Jak rozumiem server nie sprawdza przed wygeneroaniem nowego 'numeru' czy taki
juz istnieje w jakimklwiek rekordzie? (za dlugo by to chyba trwalo).

Pozdrawiam

--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/





Szymon - 25-09-2007 00:10

  Sowiecki Agent pisze:
> WItam!
> Jaki jest algorytm generowania wartosci guuid? Czy jest zalezny od
> aktualnego czasu ( z sekundami) ? Chodzi mi konkretnie o MS sql server.
> Chcialbym zrobic export pewnej czesci rekordow i wlasnie z tymi wartosciami
> (ze wzgledu na liczne powiazania) a mam pewne obawy co do tego czy na dwoch
> roznych komputerach z mssql server nie wsytapia te same wartosci.
> Jak rozumiem server nie sprawdza przed wygeneroaniem nowego 'numeru' czy taki
> juz istnieje w jakimklwiek rekordzie? (za dlugo by to chyba trwalo).
>
> Pozdrawiam
>

GUUID jest takim pseudolosowym ciągiem, który może się powtarzać. Jest
sobie RFC 4122 w którym opisano UUID, z tego co pamiętam to GUID jest
tylko innym sposobem na to samo, tylko lepszym, bo opracowanym przez M$
:). Teoretycznie możesz mieć sytuację w której powtórzy Ci się ten sam
GUID/UUID na różnych maszynach, więc weź to pod uwagę jak będziesz to
używać, bo wcale nie jest tak jak większość uważa, że UUID jest unikalny.




wloochacz - 25-09-2007 00:10

  > WItam!
> Jaki jest algorytm generowania wartosci guuid? Czy jest zalezny od
> aktualnego czasu ( z sekundami) ?
Tak;
http://pl.wikipedia.org/wiki/GUID

> Chodzi mi konkretnie o MS sql server.
> Chcialbym zrobic export pewnej czesci rekordow i wlasnie z tymi wartosciami
> (ze wzgledu na liczne powiazania) a mam pewne obawy co do tego czy na dwoch
> roznych komputerach z mssql server nie wsytapia te same wartosci.
> Jak rozumiem server nie sprawdza przed wygeneroaniem nowego 'numeru' czy taki
> juz istnieje w jakimklwiek rekordzie? (za dlugo by to chyba trwalo).
Sprawdzenie to sobie sam musisz zrobić, ale te wartości "raczej" na
pewno nie powinny się powtórzyć. Przynajmniej ja się z czymś takim nie
spotkałem.

--
wloochacz




Szymon - 25-09-2007 00:10

  wloochacz pisze:
>> WItam!
>> Jaki jest algorytm generowania wartosci guuid? Czy jest zalezny od
>> aktualnego czasu ( z sekundami) ?
> Tak;
> http://pl.wikipedia.org/wiki/GUID
>
>> Chodzi mi konkretnie o MS sql server.
>> Chcialbym zrobic export pewnej czesci rekordow i wlasnie z tymi
>> wartosciami
>> (ze wzgledu na liczne powiazania) a mam pewne obawy co do tego czy na
>> dwoch
>> roznych komputerach z mssql server nie wsytapia te same wartosci.
>> Jak rozumiem server nie sprawdza przed wygeneroaniem nowego 'numeru'
>> czy taki
>> juz istnieje w jakimklwiek rekordzie? (za dlugo by to chyba trwalo).
> Sprawdzenie to sobie sam musisz zrobić, ale te wartości "raczej" na
> pewno nie powinny się powtórzyć. Przynajmniej ja się z czymś takim nie
> spotkałem.
>

Mnie najbardziej rozwala jak np. w systemie bankowym potrafili zrobić
UUIDy jako indentyfikatory obiektów, bo to przecież "raczej" się nie
powtórzy. Równie dobrze mogli robić md5(aktualny czas) i też "raczej"
się nie powtórzy. Gorzej jak się powtórzy, a zarówno md5 jak i UUID mogą
się powtórzyć, nawet muszą, bo jest tam ograniczona liczba bajtów, poza
tym sam sposób generowania UUIDa wcale nie zabezpiecza przed takimi
powtórkami.





=?ISO-8859-2?Q?Artur_Muszy=F1ski?= - 25-09-2007 00:10

  Szymon pisze:
> Mnie najbardziej rozwala jak np. w systemie bankowym potrafili zrobić
> UUIDy jako indentyfikatory obiektów, bo to przecież "raczej" się nie
> powtórzy. Równie dobrze mogli robić md5(aktualny czas) i też "raczej"
> się nie powtórzy. Gorzej jak się powtórzy, a zarówno md5 jak i UUID mogą
> się powtórzyć, nawet muszą, bo jest tam ograniczona liczba bajtów, poza
> tym sam sposób generowania UUIDa wcale nie zabezpiecza przed takimi
> powtórkami.

Mieszasz. Nazwa wskazuje, że ten identyfikator ma być globalnie
niepowtarzalny i algorytm powinien robić wszystko, żeby to było prawdą.
Statystycznie rzecz biorąc tak właśnie jest. Znacznie bardziej
prawdopodobne jest, że na ten twój bank spadnie meteoryt rozwalając
wszystkie serwery niż to, że doświadczysz kiedykolwiek tego problemu.
Nt MD5 się nie wypowiadam, bo ten algorytm ma służyć zupełnie innym celom.

artur




wloochacz - 25-09-2007 00:10

  [ciach]
> Mnie najbardziej rozwala jak np. w systemie bankowym potrafili zrobić
> UUIDy jako indentyfikatory obiektów, bo to przecież "raczej" się nie
> powtórzy. Równie dobrze mogli robić md5(aktualny czas) i też "raczej"
> się nie powtórzy.
Nie; GUID/UUID ma "trochę" bardziej wysublimowany algorytm generowania
jak MDpiątka z daty_i_czasu....

> Gorzej jak się powtórzy, a zarówno md5 jak i UUID mogą
> się powtórzyć, nawet muszą, bo jest tam ograniczona liczba bajtów, poza
> tym sam sposób generowania UUIDa wcale nie zabezpiecza przed takimi
> powtórkami.
Teoretycznie, może się powtórzyć. Teoretycznie szóstka w totka też jest
możliwa, a nawet niektórym się udało trafić. Mi niestety się nie udało
trafić szóstki ani powtórzyć GUID'a ;-)

--
wloochacz




Szymon - 25-09-2007 00:10

  Artur Muszyński pisze:
> Szymon pisze:
>> Mnie najbardziej rozwala jak np. w systemie bankowym potrafili zrobić
>> UUIDy jako indentyfikatory obiektów, bo to przecież "raczej" się nie
>> powtórzy. Równie dobrze mogli robić md5(aktualny czas) i też "raczej"
>> się nie powtórzy. Gorzej jak się powtórzy, a zarówno md5 jak i UUID mogą
>> się powtórzyć, nawet muszą, bo jest tam ograniczona liczba bajtów, poza
>> tym sam sposób generowania UUIDa wcale nie zabezpiecza przed takimi
>> powtórkami.
>
> Mieszasz. Nazwa wskazuje, że ten identyfikator ma być globalnie
> niepowtarzalny i algorytm powinien robić wszystko, żeby to było prawdą.
> Statystycznie rzecz biorąc tak właśnie jest. Znacznie bardziej
> prawdopodobne jest, że na ten twój bank spadnie meteoryt rozwalając
> wszystkie serwery niż to, że doświadczysz kiedykolwiek tego problemu.

Niezupełnie tak jest. Algorytm przewiduje, że nie potrzebuje centralnego
systemu przydzielania numerów a mimo to będzie generował unikalne
numery, a to jest g*** prawda. Poczytaj to RFC to się przekonasz.
Algorytm bazuje na generowaniu numeru na podstawie czasu, kilku losowych
pierdół i adresu MAC, który można zmienić, albo komputer może go nie
mieć. Jak go nie ma, to RFC zaleca zakupienie sobie puli adresów za $50.
Czyli masz centralny system przydzielania guidów/uuidów, więc to, że on
będzie unikalny przy jednoczesnym generowaniu na wielu komputerach można
sobie między bajki wsadzić.
Mi się kiedyś zdarzyło, że firma w której pracowałem kupiła jakieś
biblioteki w postaci obiektów COM, które mają swoje GUIDy. Te obiekty
się zarejestrowały, a potem mój interfejs przypadkiem dostał taki sam
numer GUID jak jeden z tych obiektów i było wesoło.
Powtarzalność tych numerów to nie jest problem. Problemem jest
oprogramowanie i programiści, którym się wydaje, że te numery nigdy się
nie powtórzą, bo nie i już i nie przewidują takiej możliwości w swoim
oprogramowaniu, a gdy te numery się powtórzą to wtedy zaczyna się robić
problem. Adresy MAC też nie powinny się powtarzać, a widziałem karty
sieciowe z takimi samymi adresami i bez możliwości ich zmiany i sieć
miała problemy. Takie same problemy może mieć każdy system informatyczny
w którym bezgranicznie wierzy się w to, że numery uuid się nie
powtarzają i są unikalne.




=?ISO-8859-2?Q?Artur_Muszy=F1ski?= - 26-09-2007 00:05

  Szymon pisze:
> Mi się kiedyś zdarzyło, że firma w której pracowałem kupiła jakieś
> biblioteki w postaci obiektów COM, które mają swoje GUIDy. Te obiekty
> się zarejestrowały, a potem mój interfejs przypadkiem dostał taki sam
> numer GUID jak jeden z tych obiektów i było wesoło.

Access konwertował INT na GUID po najmniejszej linii oporu uzupełniając
zerami. GUID'y przydzielane dla COM też nie zawsze są zupełnie
przypadkowe. Algortymy (nie ma jednego, każda implementacja robi to ciut
inaczej) też pozostawiają wątpliwości. Nie mniej GUID w przypadku
opisanym przez pytającego należy traktować jako wartość unikalną i
najwyżej (ze znikomo małym prawdopodobieństwem) import spowoduje
naruszenie więzów integralności i wtedy będzie się martwił, co dalej robić.

artur
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    =?iso-8859-2?Q?W_jaki_spos=F3b_utworzy=E6_plik_accessa_nie_po siadaj=B1c_M?==?iso-8859-2?Q?S_Accessa=3F?= Prezentacja =?ISO-8859-2?Q?zdj=EA=E6_z_w=B3=B1czeniem/wy=B3a?==?ISO-8859-2?Q?czeniem_-_jaki_program_polecacie_do_tego_?= MySQL + UTF8 + PL znaki - jest =?ISO-8859-2?Q?jaki=B6_logiczny?==?ISO-8859-2?Q?_spos=F3b_=3F?= [MySQL] Jaki typ pola aby =?ISO-8859-2?Q?trzyma=E6_liczby_od?==?ISO-8859-2?Q?dzielone_przecinkiem_=3F?= jaki =?ISO-8859-2?Q?sprz=EAt_do_Sony_Vegas_i_DVD_Arc?==?ISO-8859-2?Q?hitect=3F?= [Oracle] W jaki sposób skopiować całą zawartość schemy jednego użytkownika do nowo utworzonego użytkownika? Zwracanie wartości, z funkcji, w funkcji [Js, Ajax] Problem z wartościami w MySQL :( [ MySQL and ASP and VBScript ] Insert do tabeli z danych innej tabeli plus dodatkowa wartośćpola (Firebird) Najlepszy klient (windows) do ręcznego podgladania baz danychwykonywania query itp - jaki
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • autwywalczyl.opx.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com