Dhaliyaha UUID v7

Ku dhaliso qiyamka UUID v7 khadka tooska ah: UUID-yo waqti ahaan loo kala saari karo oo leh 48-bit millisekond shaambada waqtiga ah iyo 74 bits oo kala-sooc la'aan ah.

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

Sida ID-gan loo dhisay

Qaabka (Layout)
48-bit Unix millisekond shaambada waqtiga ah, nooca 7 bits, bits kala-duwan oo RFC ah iyo buuxin kala-sooc la'aan ah.
Entropy
74 bits oo kala-sooc la'aan ah hirgelintan dhexdeeda; ma jiro miiska monotonic.
Waqtiga
Haa. 48-ka bits ee ugu horreeya waxay codeeyaan waqtiga la sameeyay, markaa ID-yada waxaa loo kala saaraa waqti ahaan millisekond-yo kala duwan.
Khatarta isku-dhaca
Hal millisekond gudaheed, isku-dhacyadu waxay ku xiran yihiin 74 bits oo kala-sooc la'aan ah; mugga aadka u sarreeya ee isku mid ms ah waa inuu isticmaalaa adeeg ID oo la isku duway.
Tusaale
01a044bc-5e42-71d2-a5f8-d7cef68ae335

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)

Maxay tahay sababta loo dooranayo UUID v7 halkii laga dooran lahaa UUID v4?

UUID v7 wuxuu ilaalinayaa qaabka UUID laakiin wuxuu u kala saaraa waqti ahaan, taas oo caawin karta logs, tusmooyinka kaydka xogta (database indexes) iyo qulqulka dhacdooyinka inay ahaadaan kuwo taariikhi ah.

UUID v7 ma qariyaa waqtiga la sameeyay?

Maya. Shaambada waqtiga waa qayb ka mid ah ID-ga. Isticmaal UUID v4 ama NanoID haddii aad u baahan tahay aqoonsi qarsoon oo aan lahayn xogta waqtiga.

UUID v7 Generator: Abuurista Aqoonsiyada Wakhtiga Ku Salaysan ee Aamin ah

Boggan wuxuu kuu ogolaanayaa inaad abuurto liis UUID v7 ah (1 ilaa 100 gudaha), iyadoo la xusho haddii xarfaha weyn yihiin iyo haddii hyphens lagu daro. Aqoonsiyadaas waxaa laga abuuraa browserkaaga gudahiisa, waxba kuma dirsido BroBroGo. Markaad beddesho mid kasta oo ka mid ah xulashooyinka (tirada, xarfaha weyn, hyphens), liiska waa la cusboonaysiiyaa isla markiiba.


Maxay tahay sababta bogganu u kala duwan yahay

UUID v7 waa nooc ka mid ah aqoonsiyada (identifiers) ee isku daraya wakhti iyo bakhtiyaa. Dhismihiisu waa 128-bit: 48-bit u horreeya waa waqtiga Unix millisecond (tiirarka milliseken ee tan iyo 1970), inta ka hadhayna waa bakhti (random) xoog leh. Sidaa awgeed, UUID v7 waa kala-saarista wakhtiga – marka la abuuro, haddii aad u kala horreysiiso, kuwa hore ayay yihiin kuwa wakhtiga hore leh. Tani waxay xallinaysaa dhibaatada "index locality" ee UUID v4, kaas oo si buuxda u bakhtiya ah, isagoo keenaya kala qaybsanaan iyo tayada yar ee kaydinta B-tree-ga.

Si kastaba ha ahaatee, uma dammaanad qaado in kuwa isla milliseken la abuuro ay si sax ah u kala horreeyaan. Bakhtiga qaybta labaad wuxuu u dhaxeeyaa 12 bits oo qayb ah, marka dhawr UUID v7 oo isku milliseken la abuuro looma kala saari karo iyadoo la isku halaynayo wakhtiga oo kaliya. Tani waa ikhtiyaar looga golleeyahay in la helo waxqabad sare marka la isticmaalayo nidaamyo isbarbar socda (parallel systems).


Qaabka iyo qaybaha UUID v7

UUID v7 waxaa loo qeexay RFC 9562 (kaas oo beddelay RFC 4122). Qaabka qoraalka waa 36-character: 8-4-4-4-12, oo leh hyphens. Tusaale: 018f3e1a-2b7c-7e00-b000-123456789abc.

Qaybaha:

Tirada xarfaha Macnaha
8 32-bit ugu horreeya (qayb ka mid ah waqtiga Unix millisecond)
4 16-bit xiga (waqtiga dheeri ah + qayb variant)
4 12-bit + 4-bit (variant + qayb bakhti)
12 48-bit bakhti (cryptographically random)

Marka la isticmaalayo Uppercase toggle, waa la soo saaraa kuwa weyn: 018F3E1A-2B7C-7E00-B000-123456789ABC. Haddii Include hyphens la damiyo, qaabku wuxuu noqonayaa 32-character oo kaliya: 018f3e1a2b7c7e00b000123456789abc. Tani waxay waxtar u leedahay marka aad u baahan tahay qoraal gaaban ama aad ku kaydinayso nidaamka xaddidan.


Maxay muhiim u tahay kala-saarista wakhtiga

Database-ga B-tree index-ka, haddii aad ku darayso diiwaano leh furaha aqoonsi oo aan kala horreysnayn (sida UUID v4), index-ka waa inuu mar walba raadiyo goob cusub oo kaydinta ah. Tani waxay keentaa index fragmentation – index-ku wuu sii kordhaa, oo waa la gaabiyaa waxqabadka gelinta (insert) iyo baadhista (select). Laakiin UUID v7, marka aad diyaarinayso, furaha cusub wuxuu ku yimaadaa cidhifka dambe ee index-ka, sidaa daraadeed gelintu way degdeg badantahay, index-ku wuxuu ahaadaa mid cufan.

Tusaale: Haddii aad isticmaasho UUID v4 oo 1 milyan diiwaan ah, index-ku wuxuu noqon karaa mid la xidhiidha 500+ bog oo kala firdhiyey. UUID v7 wuxuu ku dhow yahay 1-2 bog oo keliya, taasoo keentay in insert-yada ay noqdaan kuwa u dhakhsaha badan 5-10 jeer. Tani waa sababta ay dhismayaasha sida event sourcing, audit trails, iyo messaging systems ay u doorbidaan UUID v7.


Qaabka abuurista browser-ka gudihiisa

Boggan wuxuu u adeegsadaa crypto.getRandomValues() – habka ugu aaminka ah ee browser-ka si loo helo tiro bakhti ah oo adag. Ma jiro server loo dirayo, sidaa daraadeed:

  • Privacy: Waxba kuma dirayo shabakadda. Aqoonsiyadu waxay ku soo baxaan browserkaaga oo kaliya.
  • Degdeg: Markaad riixdo badhista, dhaliinta waxay dhacdaa milliseken gudihiis.
  • Xaddidaadda: Tirada ugu badan waa 100, sababtoo ah ma jiro sabab loo baahan yahay in ka badan 100 hal mar — laakiin waxaad soo celin kartaa jeerka.

Marka la isticmaalayo crypto.getRandomValues(), waxaa la hubinayaa in bakhtiga uu yahay mid aan la saadaalin karin, sidaa daraadeed amaanka aqoonsigu waa mid heerkiisu sarreeyo.


Isticmaalka iyo khaladaadka la iska ilaaliyo

Khaladka ugu weyn ee dadku sameeyaan waa inay isticmaalaan UUID v7 sida kala-saarista saxda ah ee gudaha milliseken. Sidii hore loo sheegay, haddii aad abuurto 100 UUID v7 hal mar, waa suurtagal in dhawr ka mid ah ay isku milliseken la abuuraan. Sidaa daraadeed, haddii aad u baahan tahay kala-saarista saxda ah (strict ordering), waa inaad isticmaashaa ULID ama nooc kale oo leh 48-bit timestamp + 80-bit random, kaasoo xalliya dhibaatada isku milliseken.

Sidoo kale, waa in la xasuustaa in UUID v7 aanu ahayn mid loogu talagalay cryptographic nonce ama session token. In kasta oo bakhtigu yahay mid adag, nidaamka wakhtigu wuu saadaalin karaa. Isticmaalka ugu wanaagsan waa database primary key ama event ID halkaas oo amniga aqoonsigu ku filan yahay.

Marka aad beddesho xulashada hyphens ama uppercase, waa inaad ka warqabtaa in qoraalka cusub uu leeyahay dherer iyo qaab ka duwan. Tusaale ahaan, haddii aad kaydinayso UUID-ga adoo la adeegsanaya hyphens, marka aad damiso hyphens waa inaad cusboonaysiisaa kaydka si aad u ilaaliso joogtaynta.


FAQ

1. Maxaa ka duwan UUID v7 iyo UUID v4? UUID v4 waa bakhti buuxa (128 bits random), marka kala-saaristu waa mid aan wakhti ku salaysnayn. UUID v7 waa 48-bit timestamp + 80-bit random, sidaa daraadeed aqoonsiyadu waa la kala saari karaa wakhtiga abuurista.

2. Ma waa inaan isticmaalaa xarfaha weyn (uppercase)? Xulasho. Qaabka caadiga ah waa xarfaha yaryar (lowercase), laakiin xarfaha weyn waa loo isticmaali karaa haddii aad rabto inay si fiican uga soo baxaan qoraalka. Labadooduba waa kuwa sax ah, laakiin qaar ka mid ah nidaamyada sida Google Cloud waa ay yaqaaniin labadaba.

3. Waa maxay sababta tirada ugu badan tahay 100? Waa xaddid la isku raacay. Haddii aad u baahan tahay in ka badan 100, waxaad soo celin kartaa bogga jeerka. Xaddidku waa mid loogu talagalay in la fududeeyo isticmaalka iyo in laga hortago in browser-ku culeys badanaa.

4. Ma waa inaan damiyo hyphens? Haddii aad u baahan tahay qoraal gaaban oo aan lahayn hyphens (32-character), waa inaad damiso. Laakiin waa inaad ogaataa in qaabka caadiga ah (oo leh hyphens) uu yahay mid u dhigma heerka RFC 9562.

5. UUID v7 ma yahay mid aamin ah oo aan la saadaalin karin? Haa, bakhtiga qaybtiisa rasmiga (80-bit) wuxuu ka yimaadaa crypto.getRandomValues(), taasoo ka dhigaysa mid aan la saadaalin karin. Laakiin waqtigu waa la saadaalin karaa, sidaa daraadeed waa inaan loo isticmaalin sida token-ka ama nonce-ga.

6. Sidee u xaliyaa dhibaatada index fragmentation-ka? Sababtoo ah timestamp-ka ayaa u horreeya, UUID-ga cusub wuxuu u hoggaansamiyaa kala-saarista wakhtiga, sidaa daraadeed index-ka B-tree wuxuu ku dari karaa cidhifka dambe, isagoon u baahnayn inuu dib u habeeyo qaybo badan. Tani waxay yareysaa fragmentation-ka waxayna kordhisaa waxqabadka insert-yada.