Ca guid format

Ce este un GUID, sau identificatorul unic al obiectului?
GUID (identificator unic global) - identificator static unic de 128 de biți. Principala caracteristică a acestuia - o unicitate care vă permite să creați servicii și aplicații scalabile, fără teama de conflicte cauzate de coincidență de identificatori. Cu toate că fiecare individ este unic GUID nu este garantat, numărul total de chei unice este atât de mare (2128 sau 3.4028? 1038), probabilitatea ca cele două chei de potrivire sunt generate în mod independent, în lume, este extrem de mic.
GUID are patru părți separate printr-o liniuță și conținând un total de 32 de simboluri care sunt reprezentarea hexazecimală a 16 bytes (128 biți). Ie două caractere în GUID (octetul) - un singur octet în hexazecimal. EXEMPLU GUID: b0d4ce5d-2757-4699-948c-cfa72ba94f86
[1]

De ce să folosiți GUID, mai degrabă decât un simplu auto-increment (indentity)?
Pentru a utiliza Guidi are 2 motive:
- doresc să o bază de date sau un alt server (clustere) nu a avut un management centralizat de generare de chei
- pentru a scăpa de problema de a crea același cod pentru diferite servere de producție
Aceste probleme apar de obicei într-un mediu de execuție distribuit, și este poziționat ca un cluster de servere distribuite și preferabil evita complet singur punct de eliberare a cheilor unice.
Dacă sistemul dumneavoastră nu are aceste cerințe, nu aveți nevoie de un UUID.
[1] [2]

Care este diferența dintre UUID și GUID?
UUID este un termen de rfc4122 standard, care va publica Organizația Mondială pentru eitf Standardizare.
Aproximativ GUID este ceea ce sa întâmplat în practică pentru Microsoft. Teoria diferă de practica precum XML cu HTML.
[1] [2]

Ce este GUID?
Depinde de tipul:
- Aleatoriu: Doar folosi-generator de numere aleatorii a sistemului de a crea un număr de 128 de biți.
- în funcție de Timp: Crearea unui GUID bazat pe ora curentă.
- Hardware pe bază: Faceți o GUID cu anumite porțiuni, bazate pe caracteristici hardware, cum ar fi adresa MAC a unui card de rețea.
- Bazată pe conținut (MD5 sau SHA-1 hash de date): Crearea unui GUID bazat pe un hash al conținutului fișierului. Fișierele cu același conținut va primi aceeași GUID.
[1]

Cum se determină versiunea GUID-ului?
Versiunea Guida definită în octetul de mare 7 octeti.
b0: d4: ce: 5d-27: 57-4 6: 99-94: 8c-cf: a7: 2b: a9: 4f: 86
[1]

De ce nu se poate comanda prin link-ul, în cazul în care conține data creării?
După cum sa descris deja, GUID a fost inițial inventat pentru sistemul de distribuție, în care problemele identificatorii unici de respingere completă a rezolvat în favoarea autoincrement numerelor aleatorii și tehnici speciale. GUIDy aleatoriu și non-repetabilitate, prin definiție, iar acest lucru este avantajul și dezavantajul său. De exemplu, elementele în identificatori predeterminate și arbitrare utilizate GUID aleatorii (versiunea 4). "The tastate" GUID-urile ca Time-based (versiunea 1).

Ei folosesc standarde diferite?
Da, dar în cazul în care baza de date index pentru a lucra cu valori-cheie aleatoare (a se vedea. B-Tree Insertion) probleme.
[1] [2]

Aceasta este de referință poate fi creată prin GUID aleatorie?
predefinite Numai elementele și create manual de către Guido.

Și totuși?
UUID Aleator provoca degradarea operațiunilor de inserție. O astfel de indice de Guido este prost pus în cluster, o căutare copac cât mai larg posibil. Pentru a evita acest neajuns a fost inventat de COMB Guid - Combinat Guid pentru combinația unui marcaj de timp. Prin urmare, atunci când folosesc GUID-urile bazate pe timp pentru chei primare, ele sunt mult mai grupată, dar nu sunt coerente. „Link-uri generatoare de mecanism oferă doar unicitatea lor. Sirul atunci când generația lor nu este prevăzută.“ (C) Bg
[1]

Dar Guido are aceeași secvență? Ceva există aproximativ MomentVremeni?
Da, după cum puteți? Nu Guido în ordine! Primul care a cerut - să fie emise și o piscină. Și după ce a alerga afară sesiunii sale - depinde de el. Cititi mai multe despre experimentul MomentomVremeni.
//infostart.ru/public/84177/

De ce este „înapoi-înainte“ timpul de deplasare?
„Sa întâmplat“;)
De exemplu, pentru că GUID a apărut cu mult înainte să ajungă în mâinile IETF și baze de date.
Sau pentru că platforma este scris în C, nu în Java, dar după cum știm din arhitectura x86 asemblera este comanda octet little-endian.
Sau, cum spune Wikipedia, folosit 2 variante: pentru n Transferarea rețelei "on-wire" "rețea" (big-endian) byte ordine, și să dețină "nativ ordinea octet" (little-endian).
În orice caz, eu nu știu cum a fost, și putem doar ghici.
[1] [2] [3] [4]

De ce nu folosiți timpul GUID?
În primul rând, GUID poate fi accidentală, și nici un motiv la momentul respectiv.
În al doilea rând, fondul de Guida emise pe 32 de bucăți pentru fiecare sesiune.
În al treilea rând, aleatoriu GUID în standardul său și în timp ce aceasta este doar o modalitate de a grupa cheile primare, pentru a reduce lățimea B-copac și accelera inserții la index grupate!
[1] [2] [3]

De ce să folosiți un „inversat“ UUID în termen de format 1s?
<Объект не найден> (273: a97b00191785092e11e36c5fb319c416)
Nu știu.
[1]

7 minute de la mijlocul 1 an, o parte din ei înșiși reprezintă hi.

Versiunea - 4 biți superiori în a șaptea octetului conține tip Guida.
0x0001 1 versiune bazată pe timp
0x0010 2 versiune de securitate DCE (POSIX UID)
3 0x0011 bazate pe nume versiune (MD5 hashing)
0x0100 4 versiune generată aleator
5 0x0101 bazate pe numele versiunii (SHA-1 hashing)


Ceas Secvență - utilizat pentru a evita duplicatele când ceasul se deplasează înapoi sau schimbarea nod ID. În cazul în care valoarea anterioară a contorului este bine cunoscut - este incrementat cu unul, în caz contrar este luat numărul aleatoriu.

Exemple? le am cu mine.
Noi „programatori“ funcții nakodil:

Consultați documentul convențional link-ul:

Check out link-urile formate de mână:

Verificați funcționarea „unicitatea“ a contorului:

Sper că acum ideea este de a „organiza link-ul“ Am golit complet.

articole similare