UUID በእውነት ምንድን ነው
UUID፣ ማለትም Universally Unique Identifier፣ ማንም ፈቃድ ሳይጠይቁ አንድን ነገር ለመሰየም የሚያስችል 128-ቢት እሴት ነው። GUID፣ ወይም Globally Unique Identifier ተብሎ ሲጠራም ሊያዩት ይችላሉ፣ ይህም Microsoft በWindows እና .NET ዓለም ውስጥ ላለው ተመሳሳይ ሐሳብ የሰጠው ስም ብቻ ነው። ሁለቱ ቃላት በሚያገባ በሁሉም ጉዳይ ማለት ይቻላል ተመሳሳይ 128-ቢት ቁጥርን ይገልጻሉ፣ ስለዚህ አንድ ባልደረባ GUID ሲል እርስዎ UUID ሲሉ፣ ሁልጊዜ ማለት ይቻላል ስለ ትክክለኛው ተመሳሳይ ነገር እያወሩ ነው።
እነዚያ 128 ቢቶች በተለምዶ ተጽፈው የሚታዩት በሰረዞች የተከፋፈሉ 32 ሄክሳዴሲማል ፊደላት ናቸው፣ በ8-4-4-4-12 ንድፍ። የተለመደ እሴት እንደዚህ ይመስላል 123e4567-e89b-12d3-a456-426614174000። ሰረዞቹ ራሳቸው ምንም ትርጉም አይሸከሙም፤ ያሉት ንጹህ ለሰው ልጅ ቦታውን ሳያጣ እሴቱን ማንበብ እንዲችል ብቻ ነው። እያንዳንዱ ፊደል ከ0 እስከ f ያለ ሄክስ ፊደል ነው፣ ለዚህም ነው UUID ከዕለታዊ ቁጥር በጣም የተጠበበ የሚመስለው፣ ምንም እንኳ ከበታች፣ አንድ በጣም ትልቅ ኢንቲጀር ብቻ ቢሆንም።

ስሪቶች፣ እና v4 ለምን እንደሚያሸንፍ
ደረጃው ብዙ ስሪቶችን ይገልፃል፣ ልዩነታቸውም ቢቶቹ እንዴት እንደሚሞሉ ነው። ስሪት 1 በጊዜ-ተኮር ነው፦ የአሁኑን የጊዜ ማህተም እና የማሽኑ ኔትወርክ MAC አድራሻ አንድ ላይ ያገናኛል። ያ v4 እሴቶች በተፈጠሩበት ጊዜ ተለይተው እንዲደረደሩ ያደርጋል፣ ነገር ግን የት እና በግምት መቼ እንደተፈጠሩ መረጃም ያፈሳል፣ ይህም ሁልጊዜ የማይፈለግ ነው። ስሪቶች 3 እና 5 በስም-ተኮር ናቸው፣ ተመሳሳይ ግብዓት ሁልጊዜ ተመሳሳይ መለያ እንዲያፈራ ናይምስፔስ ከስም ጋር ያዋህዳሉ።
ስሪት 4 ፈጽሞ የተለየ መንገድ ይወስዳል። ማለት ይቻላል ንጹህ ዘፈቀደነት ነው። ከ128 ቢቶች ውስጥ፣ ስድስቱ ስሪቱን እና variant ለመለየት ተይዘዋል፣ ቀሪውን 122 ቢቶች በዘፈቀደ ውሂብ ለመሙላት ይተዋሉ። ምንም የጊዜ ማህተም የለም፣ ምንም MAC አድራሻ የለም፣ ምንም ናይምስፔስ የለም፣ ንጹህ ጩኸት ብቻ። ለዚህም ነው አብዛኞቹ ማመንጫዎች፣ ይህንንም ጨምሮ፣ ነባሪ በሆነ መልኩ v4 የሚያመነጩት። ስለ መሣሪያው ወይም ስለ መፈጠሪያ ጊዜው ምንም አይገልጥም፣ ደግሞም እየፈጠሩት ባሉ ወገኖች መካከል ምንም ቅንጅት አያስፈልገውም። በዚህ ገጽ ላይ ያለው መሣሪያ ሙሉ በሙሉ በአሳሽዎ ውስጥ ይሠራል፣ ስለዚህ ዘፈቀደ እሴቶቹ ከመሣሪያዎ ፈጽሞ አይወጡም።
ግጭት ምን ያህል የማይመስል ነው
ምክንያታዊ ስጋቱ ሁለት ዘፈቀደ UUID አንድ ቀን ተመሳሳይ ሊሆኑ ይችላሉ የሚል ነው። ከ122 ዘፈቀደ ቢቶች ጋር፣ ሊሆኑ የሚችሉ v4 እሴቶች ቦታ 2 ወደ 122ኛ ኃይል ነው፣ ይህም በግምት 5.3 ተከትሎ 36 ዜሮዎች ነው። በሰው ልጅ ቃላት ለማስቀመጥ፣ አንድ ብቸኛ ድግግሞሽ ዕድል ወደ ሊለካ ወደሚችል ነገር ከመድረሱ በፊት ለብዙ አስርተ ዓመታት በሰከንድ ቢሊዮኖች UUIDs ማመንጨት ያስፈልግዎታል። ደረጃው ራሱ የግጭትን ዕድል ችላ ሊባል ወደሚችል ዜሮ ያህል ቅርብ ሆኖ ይገልጻል። በተግባር ቡድኖች v4ን እንደ ልዩ አድርገው ይይዙታል፣ ትክክልም ናቸው።

ገንቢዎች ወደ የት ይደርሱባቸዋል
ልዩነት ምንም ማዕከላዊ ሥልጣን ስለማያስፈልገው፣ UUIDs ቅንጅት ውድ ወይም የማይቻል በሆነባቸው ቦታዎች ያበራሉ። ብዙ አገልግሎቶች እያንዳንዳቸው ረድፎችን በሚያስገቡበት ጊዜ ለጋራ ካውንተር ቀጣዩን ቁጥር ለመጠየቅ ማቆም ለማይችሉበት ጊዜ በተለይ ለዳታቤዝ ዋና ቁልፎች ተፈጥሯዊ ግጥሚያ ናቸው። በተከፋፈሉ ሲስተሞች ውስጥ፣ በፕላኔቷ ተቃራኒ ጎኖች ላይ ያሉ ሁለት ኖዶች በተመሳሳይ ቅጽበት ተጋጭተው ሳይሆኑ ሁለቱም መለያዎችን ማፍራት ይችላሉ። እንዲሁም API idempotency keys ያንቀሳቅሳሉ፣ ደንበኛ UUIDን ወደ ጥያቄ ስለሚያያይዝ አገልጋዩ ኔትወርኩ እንደገና ቢሞክር ድግግሞሽን በደህና ችላ ማለት ይችላል። ክፍለ ጊዜ ቶከኖች፣ የፋይል ስሞች፣ የክስተት መለያዎች፣ እና የመልዕክት ቁልፎች ሁሉም በተመሳሳይ ንብረት ላይ ይደገፋሉ።
UUID ከራስ-ተጨማሪ መለያዎች ጋር ሲወዳደር
ክላሲካዊው አማራጭ ራስ-ተጨማሪ ኢንቲጀር ነው፦ 1፣ 2፣ 3፣ ወዘተ። ተከታታይ መለያዎች ጥቅጥቅ ያሉ፣ በተፈጥሯቸው የሚደረደሩ፣ ለማንበብ ቀላል ናቸው፣ ነገር ግን እውነተኛ ጉድለቶች አሏቸው። ስንት መዝገቦች እንዳሉ ያጋልጣሉ፣ ውጪ ያሉ ሰዎችም አጎራባች እሴቶችን እንዲገምቱ ያደርጋሉ፣ ደግሞም እያንዳንዱን ማስገባት በአንድ ካውንተር በኩል ያስገድዳሉ፣ ይህም ዳታቤዝን ሲከፋፍሉ ወይም ከብዙ ምንጮች ውሂብን ሲያዋህዱ እንቅፋት ይሆናል። UUIDs እነዚህን ችግሮች የሚፈቱት ማንኛውም ወገን ገለልተኛ ሆኖ ቁልፍ እንዲያፈራ በመፍቀድ እና ስለመጠን ወይም ቅደም ተከተል ምንም ባለመግለጽ ነው። ትውውጡ መጠን እና በኢንዴክሶች ውስጥ ትንሽ ያነሰ locality ነው። ወደ ውጭ ለሚስፋፉ ወይም ውስጣቸውን መደበቅ ላለባቸው ሲስተሞች፣ ያ ትውውጥ ብዙ ጊዜ ዋጋ ያለው ነው። ይህንንና ተመሳሳይ መገልገያዎችን በሁሉንም ማመንጫዎች ስብስባችን ማሰስ ይችላሉ፣ ወይም ተያያዥ የግንባታ ብሎኮች ለማግኘት ሰፊውን የገንቢ መሣሪያዎች ስብስብ ያስሱ።
ተደጋግመው የሚጠየቁ ጥያቄዎች
GUID ከUUID ጋር ተመሳሳይ ነው?
ለዕለታዊ ዓላማዎች፣ አዎ። GUID Microsoft ለተመሳሳዩ 128-ቢት መለያ የሰጠው ስም ነው። ትክክለኛው ብቸኛው ልዩነት በአንዳንድ Windows ሲስተሞች ላይ ባለው ጥሬ ባይነሪ ቅርጽ ውስጥ ያለ byte ordering ነው፤ በፊደላት ቅርጽ ተመሳሳይና ተለዋዋጭ ናቸው።
ይህ መሣሪያ የትኛውን UUID ስሪት ያመነጫል?
ስሪት 4ን ያመነጫል፣ ዘፈቀደውን variant። ከ128 ቢቶቹ ውስጥ፣ 122ቱ በዘፈቀደ ውሂብ የተሞሉ ናቸው፣ ይህም እያንዳንዱ እሴት እንደገና የመድገም ዕድሉ በጣም አነስተኛ እንዲሆን ያደርገዋል፣ ምንም የጊዜ ማህተም ወይም የመሣሪያ መረጃ አይሸከምም ማለት ነው።
ሁለት UUID ፈጽሞ ተመሳሳይ ሊሆኑ ይችላሉ?
በንድፈ-ሐሳብ ዕድሉ በትክክል ዜሮ አይደለም፣ ነገር ግን በግምት 5.3 ጊዜ 10 ወደ 36ኛ ሊሆኑ የሚችሉ v4 እሴቶች ስላሉ በጣም ትንሽ ስለሆነ ችላ ተብሎ ይታያል። ግጭት ሊፈጠር የመቻል ዕድል ከመድረሱ በፊት አስትሮኖሚያዊ ቁጥር ያላቸውን ማመንጨት ይኖርብዎታል።
ራስ-ተጨማሪ ቁጥር ፈንታ UUID ለምን እጠቀማለሁ?
UUIDs ያለ ጋራ ካውንተር በማንኛውም አገልግሎት ገለልተኛ ሆነው ሊፈጠሩ ይችላሉ፣ የመዝገብ ብዛትን ወይም ቅደም ተከተልን አይገልጡም፣ ደግሞም ከብዙ ምንጮች ውሂብን ማዋሃድ ህመም-አልባ ያደርጋሉ። ራስ-ተጨማሪ መለያዎች ያነሱ ናቸው ግን በመጠን እንቅፋት ይሆናሉ እና መረጃ ያፈስሳሉ።
UUIDs በአገልጋይ ላይ ይመነጫሉ?
አይ። ይህ መሣሪያ ሙሉ በሙሉ በአሳሽዎ ውስጥ ይሠራል፣ ስለዚህ ዘፈቀደ እሴቶቹ በአካባቢ ይፈጠራሉ እና ወደ ማንም ቦታ አይላኩም። ያ ግላዊ ማድረግ ላሰቧቸው ቁልፎችና ቶከኖች ለመጠቀም ደህና ያደርገዋል።
የሰረዝ ንድፉ ምን ማለት ነው?
የ8-4-4-4-12 ቡድን አደራደር ለንባብ ተስማሚነት ስምምነት ብቻ ነው። ሰረዞቹ ምንም ውሂብ አይሸከሙም፤ 32ቱን ሄክስ ፊደላት ወደ ክፍሎች ስለሚከፋፍሏቸው ሰዎች እሴቶችን በቀላሉ ቃኝተው ማወዳደር ይችላሉ።
