Dhaliyaha UUID

Ku dhaliso UUID-yada caadiga ah khadka tooska ah. Boggan wuxuu isticmaalaa UUID v4 oo kala-sooc la'aan ah oo leh 122 bits oo kala-sooc la'aan ah iyo qaabka caanka ah ee 36-xaraf ah.

Qaabka
ID-yada la dhalay
Waa diyaar. Ku dhaliso UUID-yada biraawsarkaaga dhexdiisa.

Sida ID-gan loo dhisay

Qaabka (Layout)
UUID v4: 8-4-4-4-12 kooxood oo hexadecimal ah oo leh bits kala-duwan oo RFC ah.
Entropy
122 bits oo kala-sooc la'aan ah; nooca iyo kala-duwanaanshuhu waxay isticmaalaan 6 bits oo ka mid ah qiimaha 128-bit ah.
Waqtiga
Ma jiro shaambada waqtiga ama xogta aaladda oo ku dhex jirta.
Khatarta isku-dhaca
Xadka dhalashada ee 122 bits oo kala-sooc la'aan ah waa mid aan la xusi karin oo loogu talagalay abka caadiga ah, tijaabooyinka iyo ID-yada kaydka xogta (database).
Tusaale
724d9abb-271b-4ddb-9323-4c8e909416fb

ID-yadaada waxaa lagu dhaliyaa gudaha iyadoo la isticmaalayo habka kala-sooc la'aanta adag ee biraawsarka. Waxba looma soo diro BroBroGo.

Su'aalaha badanaa la isweydiiyo (FAQ)

Noocee ah UUID ayuu boggani dhaliyaa?

Waxay dhalisaa qiyamka UUID v4: UUID-yo kala-sooc la'aan ah oo leh qaabka caadiga ah ee xariiqda leh. Isticmaal bogga UUID v4 marka aad rabto isku mid mishiinka oo leh faahfaahin diiradda saaraysa v4.

UUID-yada ma loo diraa server?

Maya. Dhalintu waxay ka dhacdaa biraawsarkaaga dhexdiisa iyadoo la isticmaalayo Web Crypto API, markaa qiyamku waxay ku harayaan aaladdaada.

Qaabka UUID v4 iyo sida loo dhiso

UUID v4 waa aqoonsiye 36-xaraf ah oo ku qoran qaabka 8-4-4-4-12, halkaasoo 32 xaraf ay yihiin hex (0-9 iyo a-f) iyo 4 jaantus (hyphens) marka la isticmaalo. Qaybta ugu muhiimsan ee UUID v4 waa 122 bit oo randomness ah, taas oo ah 16 octets oo aan timestampp ku jirin. Tani waxay ka dhigan tahay in UUID v4 aan la saadaalin karin, waxaana loo isticmaalaa goobaha amniga muhiimka ah sida calaamadaha amniga (security tokens), sesiyada (session IDs), iyo furaha aan ahayn kuwa isku xigxiga.

Marka la eego qaanuunka RFC 4122, UUID v4 waxay isticmaashaa 122 bit oo randomness ah, iyadoo 6 bit loo hayo tilmaamaha qaabka (version iyo variant). Tusaale ahaan, xarafka 13aad (ka dib marka la tiro 1-8-4-4-4-12) waa inuu noqdo "4" si loo muujiyo v4. Xarafka 17aad waa inuu noqdo "8", "9", "a", ama "b" si loo muujiyo variant. Tan macneheedu waa in UUID kasta oo v4 ah uu leeyahay qaab go'an, laakiin 122-bit-ka randomness-ku wuxuu ka dhigayaa mid aan la isku dhigin.

Boggan "uuid-generator" wuxuu kuu ogolaanayaa inaad bedesho laba sifo oo muhiim ah: uppercase (xarfaha waaweyn) iyo hyphens (jaantusyada). Marka aad bedesho tan, dhammaan UUID-yada waa la soo saaraa iyadoo la adeegsanayo browser-kaaga randomness-ka xooggan. Tusaale ahaan, haddii aad dooneyso UUID xarfaha waaweyn ah oo aan jaantusyada lahayn, waa inaad bedeshay labada toggle ka hor inta aadan gujin "Generate".

Waxa boggan ka dhigaya mid kala duwan

Boggan "uuid-generator" waa mid gaar ah sababtoo ah waxa uu diirada saarayaa UUID v4, ma aha noocyada kale sida UUID v7 ama ULID. UUID v4 waa 122 bit oo randomness ah oo aan timestampp ku jirin, taas oo ka dhigaysa mid aan la saadaalin karin. Tani waxay ka duwan tahay UUID v7 oo isticmaasha timestampp si loo kala sooco, ama ULID oo iskugu dara timestampp iyo randomness.

Marka la eego kala soocida, UUID v4 waxay u kala baxdaa si aan rasmi ahayn, taas oo macneheedu yahay in marka loo isticmaalo database-ka sida furaha koowaad (primary key), ay kala qaybin kartaa index-yada. Tani waxay sabab u tahay in UUID-yada v4 ay yihiin kuwo aan la kala saarin waqtiga, taas oo keenta in index-ka uu u kala baxo si aan toos ahayn. Tusaale ahaan, haddii aad ku ridayso 100 UUID v4 oo kala duwan, waxay u ekaan doonaan sida tiro aan la kala horraysiin karin.

Waxa kale oo boggan ka dhigaya mid kala duwan waa sida loo soo saaro. Dhammaan soo saarista waxay ku dhacdaa browser-kaaga adoo isticmaalaya cryptographic pseudorandom number generator (CSPRNG). Tan macneheedu waa in wax aan loo dirin server-ka, taas oo ka ilaalinaysa amnigaaga iyo asturnaanta. Hadii aad shabakad la'aan tahay, wali waxaad soo saari kartaa UUID-yada.

Isticmaalka iyo goobaha loogu talagalay

Boggan "uuid-generator" waxaa loogu talagalay cilmi-baadhayaasha (developers) iyo maamulayaasha xogta (database administrators) oo u baahan aqoonsiyeyaasha aan la saadaalin karin. Tusaale ahaan, haddii aad tahay developer-ka sida loogu talagalay calaamadaha amniga, waa inaad isticmaashaa UUID v4 sababtoo ah waxay leedahay randomness-ka xooggan. Sidoo kale, haddii aad tahay maamulaha xogta oo doonaya inuu isticmaalo furaha koowaad oo aan isku xigxigin, UUID v4 waa doorasho wanaagsan, laakiin waa inaad ogtahay in index-ka uu kala qaybimi karo.

Dadka kale ee isticmaala boggan waxaa ka mid ah kuwa soo saaraya xogta imtixaanka (test data), aqoonsiyeyaasha dibadda (external identifiers), iyo furaha aan la aqoonsan karin (anonymised keys). Tusaale ahaan, haddii aad u baahan tahay 50 aqoonsiye oo kala duwan oo aan la isku dhigin, waxaad isticmaali kartaa boggan iyadoo aad bedesho count-ka 50. Kadib, waxaad ku dari kartaa dhammaantood "Copy all" si aad ugu dhejiso meel kale.

Waxaa muhiim ah in la ogaado in UUID v4 aan lagu talagalin goobaha u baahan kala soocida waqtiga, sida diiwaanka gelitaanka (transaction logs) ama furaha la isku xigxiyo. Haddii aad u baahan tahay kala soocida waqtiga, waxaad u baahan tahay UUID v7 ama ULID.

Qaladaadka iyo xaglaha kiisaska

Collision probability (suurtagalnimada isku dhaca)

UUID v4 waxay isticmaashaa 122 bit oo randomness ah, taas oo macneheedu yahay in suurtagalnimada isku dhaca (collision) ay tahay mid aad u yar. Tusaale ahaan, haddii aad soo saarayso 100 UUID v4, suurtagalnimada in laba ay isku mid noqdaan waa 1/2^122, taas oo ah tiro aad u yar. Laakiin, haddii aad soo saarayso billions oo UUID-yo, suurtagalnimadani waxay kordhin kartaa, laakiin wali waa mid aan la dayacin karin.

Index performance (waxqabadka index-ka)

Marka UUID v4 loo isticmaalo furaha koowaad ee database-ka, index-ku wuxuu u kala baxaa si aan rasmi ahayn. Tani waxay keentaa in index-ku noqdo mid la kala qaybiyay (fragmented), taas oo yaraynaysa waxqabadka marka la raadinayo xogta. Tusaale ahaan, haddii aad ku ridayso 1000 UUID v4 oo kala duwan, index-ku wuxuu u ekaan doonaa sida tiro aan la kala horraysiin karin, taas oo keenta in database-ku uu u baahan yahay waqti dheer si uu u helo UUID-ga la raadinayo.

Toggle-yada saamayntooda

Marka aad bedesho uppercase iyo hyphens, dhammaan UUID-yada waa la soo saaraa iyadoo la adeegsanayo browser-kaaga. Tani waxay macneheedu tahay in aad heli karto UUID kasta oo leh qaabka aad rabto. Laakiin, waa inaad ogtahay in toggle-yadani aysan bedelin randomness-ka gudaha ee UUID-ga; waxay kaliya bedelaan sida loo muujiyo.

Sida loo isticmaalo

Boggan "uuid-generator" waa mid fudud oo toos ah. Marka aad furto, waxaad arki doontaa laba toggle: Uppercase (xarfaha waaweyn) iyo Include hyphens (jaantusyada). Sidoo kale, waxaad arki doontaa sanduuqa Count oo aad ku qori karto tirada UUID-yada aad rabto (1 ilaa 100). Kadib, guji "Generate" si aad u soo saarto UUID-yada.

Marka UUID-yada soo baxaan, waxaad arki doontaa liis iyo tirada mid kasta oo lagu qoray "IDs count". Haddii aad rabto inaad koobiyeyso hal UUID, guji UUID-ga laftiisa. Haddii aad rabto inaad koobiyeyso dhammaan, guji "Copy all". Marka aad koobiyeyso, waxaad arki doontaa fariinta "Copied all!" si loo xaqiijiyo.

Status-ka bogga wuxuu ku tusayaa fariimaha sida "Ready." (marka hore), "Generated." (kadib soo saarista), iyo "Copied all!" (kadib koobiyeynta). Tani waxay kaa caawinaysaa inaad ogaato waxa dhacaya.

Tusaale

Haddii aad rabto 5 UUID v4 oo xarfaha waaweyn ah oo aan jaantusyada lahayn:

  1. Badel Uppercase ilaa ON.
  2. Badel Include hyphens ilaa OFF.
  3. Qor 5 sanduuqa Count.
  4. Guji "Generate".
  5. Waa inaad aragtaa 5 UUID oo ku qoran xarfaha waaweyn, sida "A1B2C3D4E5F6G7H8I9J0K1L2M3N4O5P6" (iyadoo la joojiyay jaantusyada).

Isbarbardhigga noocyada kale

UUID v4 waa mid ka mid ah noocyada kala duwan ee UUID-yada, laakiin waxay leedahay sifooyin gaar ah oo ka dhigaya mid kala duwan marka la barbardhigo UUID v7, ULID, iyo NanoID.

UUID v7

UUID v7 waxay isticmaashaa timestampp (millisecond-ka) oo lagu daray randomness-ka. Tani waxay ka dhigaysaa mid la kala saari karo waqtiga, taas oo faa'iido u leh index-ka database-ka. Laakiin, timestampp-ku wuxuu ka dhigayaa mid la saadaalin karo qeyb ka mid ah, taas oo yaraynaysa amniga. UUID v7 waxaa loo isticmaalaa goobaha u baahan kala soocida waqtiga, sida diiwaanka gelitaanka.

ULID

ULID waxay iskugu darsaa timestampp (millisecond-ka) iyo randomness-ka, laakiin waxay isticmaashaa qaabka Crockford's Base32. Tani waxay ka dhigaysaa mid gaaban (26 xaraf) marka la barbardhigo UUID v4 (36 xaraf). ULID waxaa loo isticmaalaa goobaha u baahan kala soocida waqtiga iyo isu dheelitirka dhererka.

NanoID

NanoID waa mid ka duwan sababtoo ah ma isticmaasho qaabka RFC 4122. Waxay isticmaashaa eber ilaa 64 xaraf oo ka soo jeeda ASCII. NanoID waxay leedahay 21 xaraf oo caadi ah, taas oo ka dhigaysa mid gaaban. Laakiin, ma leh timestampp, marka kala soocidu waa mid aan rasmi ahayn.

Isbarbardhigga:

Nooca Dhererka Timestampp Randomness Isticmaalka
UUID v4 36 xaraf (iyo 4 jaantus) Maya 122 bit Amniga, calaamadaha
UUID v7 36 xaraf Haa 74 bit Kala soocida waqtiga
ULID 26 xaraf Haa 80 bit Dhererka gaaban, kala soocida
NanoID 21 xaraf (caadi) Maya 126 bit Dhererka gaaban, amniga

FAQ

1. Waa maxay sababta aan u isticmaali karo UUID v4 database-ka?

UUID v4 waxay u fiican tahay furaha koowaad ee database-ka haddii aad u baahan tahay aqoonsiyeyaasha aan la saadaalin karin. Laakiin, waa inaad ogtahay in index-ka uu kala qaybimi karo sababtoo ah UUID-yadu ma kala soocan waqtiga. Tani waxay yarayn kartaa waxqabadka marka aad raadinayso xogta.

2. Sidee u xaqiijinayaa in randomness-ku uu xooggan yahay?

Boggan "uuid-generator" wuxuu isticmaalaa browser-kaaga cryptographic pseudorandom number generator (CSPRNG). Tani waa habka ugu xooggan ee lagu soo saari karo randomness-ka browser-ka. Si kastaba ha ahaatee, haddii aad u baahan tahay randomness-ka heerka sare, waxaad isticmaali kartaa qalabka khaaska ah sida /dev/urandom.

3. Maxaa dhacaya haddii aan soo saaro 100 UUID?

Haddii aad soo saarto 100 UUID v4, suurtagalnimada isku dhaca waa mid aad u yar. Laakiin, haddii aad soo saartay billions oo UUID-yo, suurtagalnimadani waxay kordhin kartaa. Sida guud, UUID v4 waxay leedahay randomness-ka ku filan inta badan codsiyada.

4. Sidee u koobiyeynaa UUID-ga laftiisa?

Si aad u koobiyeyso UUID-ga laftiisa, guji UUID-ga laftiisa. Marka aad gujiso, waxaad arki doontaa fariinta "Copied!" si loo xaqiijiyo. Haddii aad rabto inaad koobiyeyso dhammaan, guji "Copy all".

5. Waa maxay farqiga u dhexeeya UUID v4 iyo UUID v7?

UUID v4 waxay isticmaashaa 122 bit oo randomness ah oo aan timestampp ku jirin, taas oo ka dhigaysa mid aan la saadaalin karin. UUID v7 waxay isticmaashaa timestampp (millisecond-ka) oo lagu daray randomness-ka, taas oo ka dhigaysa mid la kala saari karo waqtiga. UUID v7 waxaa loo isticmaalaa goobaha u baahan kala soocida waqtiga, halka UUID v4 loo isticmaalo amniga.

6. Ma isticmaali karaa UUID v4 offline?

Haa, sababtoo ah dhammaan soo saarista waxay ku dhacdaa browser-kaaga. Ma u baahnid shabakad si aad u soo saarto UUID-yada. Tani waxay ka dhigaysaa boggan mid ku habboon goobaha aan shabakadda lahayn ama meelaha amniga muhiimka ah.