Dhaliyaha UUID / ULID / NanoID

Dhaliso UUID v4, UUID v7, ULID, iyo NanoID si degdeg ah, biraawsarkaaga dhexdiisa.

Qaabka

122 bit oo kala-sooc la'aan saafi ah — nidaam ma leh, lama qiyaasi karo.

ID-yada la dhalay
Waa diyaar.

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

Waa maxay farqiga u dhexeeya UUID v4, UUID v7, ULID, iyo NanoID?

UUID v4 waa 122 bits oo kala-sooc la'aan ah oo ku jira qaabka caanka ah ee 36-ka xaraf, laakiin nidaamkeeda aan habaysnayn wuxuu u xun yahay kaydka xogta (database index). UUID v7 waxay haysataa isla qaabkaas iyadoo ku bilaabaysa waqtiga millisebinka, si ID-yadu u kala horreeyaan waqtigii la sameeyay — taas oo u fiican furayaasha koowaad (primary keys). ULID waxay samaysaa isla qaabkaas waqtiga ku salaysan laakiin waxay ku qortaa qoraal ka gaaban oo ka kooban 26 xaraf oo aan u nugulayn xarfaha waaweyn/yaryar. NanoID waxay ka booddaa kala-horreynta waqtiga si ay u bixiso ID aad u yar oo si buuxda loo habayn karo — adiga ayaa dooranaya dhererka iyo xarfaha la isticmaalayo.

Ma yihiin ID-yadani kuwo ku filan kala-sooc la'aan si aan loo qiyaasi karin?

Haa — ID kasta waxaa lagu dhaliyaa habka kala-sooc la'aanta adag ee biraawsarka, ee ma aha il la saadaalin karo. UUID v4 iyo xarfaha caadiga ah ee NanoID waxay xambaarsan yihiin in ka badan 100 bits oo kala-sooc la'aan ah. UUID v7 iyo ULID waxay ku beddeshaan qiyaastii 48 ka mid ah bit-yadaas waqtiga bilowga ah, markaa u tixgeli qaababka waqtiga wata kuwo la kala horraysiin karo halkii aad u tixgelin lahayd sir adag.

Ma beddeli karaa dhererka iyo xarfaha NanoID?

Haa — u beddel NanoID qalabkuna wuxuu kuu soo bandhigi doonaa dherer-haye (21 xaraf sida caadiga ah, oo u dhigma maktabadda) iyo meel laga beddeli karo xarfaha la isticmaalayo. Yareynta dhererka ama xaddididda xarfaha waxay yareysaa iska-caabinta isku-dhaca (collision), markaa dhererka kor u hay haddii aad xarfaha yareyso.

Farqiga u Dhexeeya UUID v4, UUID v7, ULID, iyo NanoID

Marka la dhisayo nidaamyada softiweerka iyo kaydka xogta, doorashada aqoonsiga gaarka ah (unique identifier) waxay saameyn weyn ku yeelataa waxqabadka iyo habaynta xogta. Qalabkani wuxuu awood kuu siinayaa inaad dhaliso afar qaab oo kala duwan oo kala ah UUID v4, UUID v7, ULID, iyo NanoID. Mid kasta oo ka mid ah qaababkan wuxuu leeyahay qaab-dhismeed u gaar ah iyo ujeeddooyin gaar ah oo uu u adeego.

  • UUID v4: Waa qaabka ugu caansan ee aqoonsiga gaarka ah, kaas oo ka kooban 122 bits oo kala-sooc la'aan saafi ah. Waxaa loo soo bandhigaa qaab ka kooban 36 xaraf oo ay ku jiraan xariiqyo. Maadaama uusan lahayn wax nidaam ama kala-horrayn ah, aad bay u adag tahay in la qiyaaso, laakiin nidaamkeeda aan habaysnayn wuxuu u xun yahay kaydka xogta (database index) sababtoo ah ma sahlayo habaynta xogta isku xigta.
  • UUID v7: Waa qaab cusub oo ilaalinaya dhererka iyo qaabka 36-ka xaraf ee UUID-da caadiga ah, laakiin ku bilaabma waqtiga millisebinka (timestamp). Tani waxay ka dhigeysaa aqoonsiyadan kuwo u kala horreeya waqtigii la sameeyay, taas oo u fiican furayaasha koowaad (primary keys) ee kaydka xogta sababtoo ah waxay hagaajisaa xawaaraha wax-qorista iyo raadinta.
  • ULID (Universally Unique Lexicographically Sortable Identifier): Waxay samaysaa isla qaabkaas waqtiga ku salaysan ee UUID v7 laakiin waxay ku qortaa qoraal ka gaaban oo ka kooban 26 xaraf. ULID waa mid aan u nugulayn xarfaha waaweyn/yaryar (case-insensitive), taas oo ka dhigta mid aad u habboon in loo isticmaalo meelaha u baahan akhris fudud iyo kala-horrayn waqtiyeed.
  • NanoID: Waa aqoonsi aan lahayn nidaam waqtiyeed laakiin bixiya isku-duubni iyo dherer iyo xarfo si buuxda loo habayn karo. Waxay ka booddaa kala-horreynta waqtiga si ay u bixiso ID aad u yar oo aad adigu maamuli karto dhererkiisa iyo xarfaha loo isticmaalayo dhalintiisa.

Kala-sooc la'aanta iyo Xoogga Sirdoonka ee ID-yada

Kala-sooc la'aanta (randomness) loo isticmaalo dhalinta aqoonsiyadan waxay go'aamisaa xoogga iska-caabinta isku-dhaca (collision resistance) iyo amniga nidaamka. Isku-dhac wuxuu dhacaa marka laba aqoonsi oo isku mid ah la dhaliso, taas oo keeni karta khalkhal xogeed.

UUID v4 waxay isticmaashaa 122 bits oo kala-sooc la'aan ah, taas oo ka dhigaysa fursadda isku-dhaca mid aad u yar oo aan macno ahaan suurtogal ahayn. NanoID oo wadata dhererka caadiga ah ee 21 xaraf waxay sidoo kale xambaarsan tahay in ka badan 100 bits oo kala-sooc la'aan ah.

Dhanka kale, UUID v7 iyo ULID waxay ku beddeshaan qiyaastii 48 ka mid ah bit-yadaas waqtiga bilowga ah (timestamp) si ay u suurtogeliyaan kala-horraynta. Inkastoo tani ay aad u wanaajiso habaynta xogta, waxay ka dhigaysaa aqoonsiyadan kuwo la qiyaasi karo haddii la ogaado waqtigii saxda ahaa ee la dhalay. Sidaa darteed, u tixgeli qaababka waqtiga wata kuwo la kala horraysiin karo halkii aad u tixgelin lahayd sir adag.

Isku-dheelitirka Dhererka, Xarfaha, iyo Isku-dhaca

Markaad isticmaalayso NanoID, waxaad leedahay awood aad ku beddesho dhererka aqoonsiga iyo xarfaha la isticmaalayo. Si kastaba ha ahaatee, waxaa jira isku-dheelitir weyn oo u dhexeeya dhererka ID-ga, tirada xarfaha ku jira (alphabet), iyo iska-caabinta isku-dhaca.

Qaabka ID-ga Dhererka Caadiga ah Kala-horrayn Waqtiyeed Habaynta Xarfaha
UUID v4 36 xaraf Maya Maya
UUID v7 36 xaraf Haa (Millisebin) Maya
ULID 26 xaraf Haa (Millisebin) Maya
NanoID 21 xaraf (waa la beddeli karaa) Maya Haa (Waa la habayn karaa)

Haddii aad yareyso dhererka NanoID ama aad xaddiddo xarfaha la isticmaalayo, waxaad si weyn u yareynaysaa iska-caabinta isku-dhaca. Tusaale ahaan, haddii aad isticmaasho xarfo aad u yar, fursadda ay laba aqoonsi isku mid u noqon karaan waa ay kordheysaa. Sidaa darteed, waxaa lagula talinayaa inaad dhererka kor u hayso haddii aad xarfaha yareyso si aad u ilaaliso amniga iyo kala-duwanaanshaha aqoonsiyada.

Faa'iidooyinka ID-yada Waqtiga ku Salaysan ee Kaydka Xogta

Isticmaalka aqoonsiyada waqtiga ku salaysan sida UUID v7 iyo ULID waxay leedahay faa'iidooyin waaweyn marka loo isticmaalayo kaydka xogta (databases). Kaydka xogta badankoodu waxay u habeeyaan xogta qaab isku xigta oo ku salaysan furaha koowaad (primary key).

Marka la isticmaalayo UUID v4 oo gebi ahaanba aan habaysnayn, kaydka xogtu wuxuu ku qasban yahay inuu dib u habayn ku sameeyo tusmooyinka (indexes) mar kasta oo xog cusub la geliyo, taas oo keenta gaabis weyn marka xogtu badato. UUID v7 iyo ULID waxay xalliyaan dhibaatadan sababtoo ah waxay ku bilaabmaan waqtiga la sameeyay. Tani waxay hubinaysaa in aqoonsiyada cusub mar kasta lagu daro dhammaadka tusmada, taas oo yaraynaysa culayska kaydka xogta isla markaana kordhisa xawaaraha wax-qorista. Waxaa xusid mudan in UUID v7 iyo ULID ay u kala horreeyaan qiyaastii waqtiga la sameeyay laakiin aysan dammaanad qaadayn kala-horrayn adag haddii ID-yada la dhalay ay ku dhex dhashaan hal millisebin gudaheed.

Habaynta iyo Isticmaalka Qalabka

Qalabkani wuxuu kuu sahlayaa inaad si fudud u dhaliso aqoonsiyada aad u baahan tahay adigoo isticmaalaya doorashooyin kala duwan. Waxaad dooran kartaa qaabka aad u baahan tahay, tirada aad rabto inaad dhaliso inta u dhexaysa 1 iyo 100, iyo haddii aad rabto in UUID-yada lagu soo bandhigo xarfo waaweyn ama lagu daro xariiqyada.

Haddii aad doorato NanoID, waxaad heli doontaa dherer-haye kuu sahlaya inaad dhererka ka beddesho inta u dhexaysa 2 iyo 36 xaraf, iyo meel aad ka beddeli karto xarfaha la isticmaalayo (Alphabet). Waxaa jira xeer adag oo ah in xarfaha la dooranayo ay ahaadaan ugu yaraan 2 xaraf oo kala duwan. Haddii aad u beddesho hal xaraf oo keliya, qalabku wuxuu soo bandhigayaa fariinta khaldan ee ah: "Xarfaha la dooranayo waa inay ahaadaan ugu yaraan 2 xaraf oo kala duwan.". Markay taasi dhacdo, natiijooyinka waa la tirtirayaa, tirada ID-yaduna waxay noqonaysaa 0.

Isbeddel kasta oo aad ku sameyso doorashooyinka wuxuu dib u dhalinayaa ID-yada. Marka aqoonsiyadu diyaar yihiin, qalabku wuxuu muujinayaa fariinta "Waa la dhalay.". Waxaad si fudud u koobiyeyn kartaa hal ID adigoo gujinaya, ama waxaad wada koobiyeyn kartaa dhammaan adigoo isticmaalaya badhanka "Koobiyeey dhammaan", kaas oo muujin doona fariinta "Dhammaan waa la koobiyeeyay!".

Badbaadada iyo Asturnaanta Xogta

Markaad isticmaalayso qalabkan, asturnaanta xogtaada waa mid la dammaanad qaaday. ID-yadaada waxaa lagu dhaliyaa gudaha iyadoo la isticmaalayo habka kala-sooc la'aanta adag ee biraawsarka. Tani waxay ka dhigan tahay in dhammaan habraaca dhalinta aqoonsiyada uu ka dhacayo kombuyuutarkaaga ama qalabkaaga dhexdiisa, oo aan wax xog ah loo soo dirin BroBroGo. Ma jiraan xog dibadda u baxaysa ama lagu kaydinayo meel ka baxsan biraawsarkaaga.


Su'aalaha Badanaa La Isweydiiyo (FAQ)

Waa maxay farqiga u dhexeeya UUID v4, UUID v7, ULID, iyo NanoID?
UUID v4 waa 122 bits oo kala-sooc la'aan ah oo ku jira qaabka caanka ah ee 36-ka xaraf, laakiin nidaamkeeda aan habaysnayn wuxuu u xun yahay kaydka xogta (database index). UUID v7 waxay haysataa isla qaabkaas iyadoo ku bilaabaysa waqtiga millisebinka, si ID-yadu u kala horreeyaan waqtigii la sameeyay — taas oo u fiican furayaasha koowaad (primary keys). ULID waxay samaysaa isla qaabkaas waqtiga ku salaysan laakiin waxay ku qortaa qoraal ka gaaban oo ka kooban 26 xaraf oo aan u nugulayn xarfaha waaweyn/yaryar. NanoID waxay ka booddaa kala-horreynta waqtiga si ay u bixiso ID aad u yar oo si buuxda loo habayn karo — adiga ayaa dooranaya dhererka iyo xarfaha la isticmaalayo.

Ma yihiin ID-yadani kuwo ku filan kala-sooc la'aan si aan loo qiyaasi karin?
Haa — ID kasta waxaa lagu dhaliyaa habka kala-sooc la'aanta adag ee biraawsarka, ee ma aha il la saadaalin karo. UUID v4 iyo xarfaha caadiga ah ee NanoID waxay xambaarsan yihiin in ka badan 100 bits oo kala-sooc la'aan ah. UUID v7 iyo ULID waxay ku beddeshaan qiyaastii 48 ka mid ah bit-yadaas waqtiga bilowga ah, markaa u tixgeli qaababka waqtiga wata kuwo la kala horraysiin karo halkii aad u tixgelin lahayd sir adag.

Ma beddeli karaa dhererka iyo xarfaha NanoID?
Haa — u beddel NanoID qalabkuna wuxuu kuu soo bandhigi doonaa dherer-haye (21 xaraf sida caadiga ah, oo u dhigma maktabadda) iyo meel laga beddeli karo xarfaha la isticmaalayo. Yareynta dhererka ama xaddididda xarfaha waxay yareysaa iska-caabinta isku-dhaca (collision), markaa dhererka kor u hay haddii aad xarfaha yareyso.

Maxaa dhacaya haddii aan NanoID u dooro hal xaraf oo keliya?
Qalabku wuxuu u baahan yahay ugu yaraan 2 xaraf oo kala duwan si uu u dhaliyo NanoID. Haddii aad geliso hal xaraf oo keliya, qalabku wuxuu muujinayaa fariinta khaldan ee ah "Xarfaha la dooranayo waa inay ahaadaan ugu yaraan 2 xaraf oo kala duwan.", wuxuuna tirtirayaa natiijooyinka isagoo ka dhigaya tirada ID-yada 0.