UUID v4 உருவாக்கி

ஆன்லைனில் UUID v4 மதிப்புகளை உருவாக்குங்கள்: 122 சீரற்ற பிட்கள், நிலையான UUID வடிவம் மற்றும் உங்கள் உலாவியில் நகலெடுக்கத் தயாராக இருக்கும் முடிவுகள்.

வடிவம் (Format)
உருவாக்கப்பட்ட ஐடிகள்
தயார். உங்கள் உலாவியிலேயே UUID v4 மதிப்புகளை உருவாக்குங்கள்.

இந்த ID எவ்வாறு உருவாக்கப்படுகிறது

அமைப்பு (Layout)
பதிப்பு 4 மற்றும் RFC மாறுபாட்டு பிட்களுடன் கூடிய 128-பிட் UUID, 8-4-4-4-12 ஹெக்ஸ் குழுக்களாகக் காட்டப்படுகிறது.
என்ட்ரோபி (Entropy)
crypto.randomUUID() இலிருந்து 122 சீரற்ற பிட்கள்.
நேரம்
எதுவுமில்லை; v4 IDகள் அவை எப்போது உருவாக்கப்பட்டன என்பதை வெளிப்படுத்தாது.
மோதல் ஆபத்து (Collision risk)
மோதல்கள் 122 சீரற்ற பிட்களால் நிர்வகிக்கப்படுகின்றன, இது சாதாரண அமைப்புகளின் நடைமுறை அளவைத் தாண்டியது.
எடுத்துக்காட்டு
b299f331-4f95-4018-98ce-c87fdefcb9b6

உங்கள் ஐடிகள் வலுவான உலாவி சீரற்ற தன்மையுடன் உள்ளூரிலேயே உருவாக்கப்படுகின்றன. BroBroGo-விற்கு எதுவும் அனுப்பப்படுவதில்லை.

அடிக்கடி கேட்கப்படும் கேள்விகள் (FAQ)

நான் எப்போது UUID v4 ஐப் பயன்படுத்த வேண்டும்?

உருவாக்க நேரத்தின்படி வரிசைப்படுத்தப்படாத மற்றும் நேரத் தகவலை வெளிப்படுத்தாத தெளிவற்ற சீரற்ற அடையாளங்காட்டிகள் தேவைப்படும்போது UUID v4 ஐப் பயன்படுத்தவும்.

நான் ஹைபன்களை நீக்கவோ அல்லது வெளியீட்டைப் பெரிய எழுத்துகளாக மாற்றவோ முடியுமா?

ஆம். பூட்டப்பட்ட UUID v4 கருவி விருப்பங்கள் பேனலைக் கொண்டுள்ளது, எனவே நீங்கள் ஹைபன்களை நீக்கலாம் மற்றும் பெரிய எழுத்து வெளியீட்டிற்கு மாறலாம்.

UUID v4 ஜெனரேட்டர் – 122 பிட் சீரற்ற தன்மையுடன் கூடிய தனித்துவ அடையாளங்காட்டிகள்

இந்தக் கருவி மூலம் நீங்கள் UUID v4 அடையாளங்காட்டிகளை உருவாக்கலாம். ஒவ்வொரு UUID v4 இன் மையமும் 122 பிட்கள் முழு சீரற்ற தன்மை ஆகும். மீதமுள்ள 6 பிட்கள் பதிப்பு மற்றும் மாறுபாட்டு பிட்களாக (version/variant bits) நிலையாக நிர்ணயிக்கப்பட்டுள்ளன. இதன் விளைவாக, 36 எழுத்துகள் கொண்ட நிலையான 8‑4‑4‑4‑12 ஹெக்ஸ் வடிவம் உருவாகிறது. நீங்கள் எத்தனை UUID களை வேண்டுமானாலும் (1 முதல் 100 வரை) ஒரே நேரத்தில் உருவாக்கலாம், பெரிய எழுத்துக்கள் விருப்பத்தை இயக்கலாம், மற்றும் ஹைபன்களை நீக்கவும் முடியும். எல்லா உருவாக்கமும் உங்கள் உலாவியில் மட்டுமே நடைபெறுகிறது; எந்தத் தரவும் சர்வருக்கு அனுப்பப்படுவதில்லை.

UUID v4 மற்ற தனித்துவ அடையாளங்காட்டிகளிலிருந்து எவ்வாறு வேறுபடுகிறது

UUID v4 என்பது நேரம் சார்ந்தது அல்ல. UUID v7, ULID அல்லது நானோஐடி போன்றவை நேர முத்திரையை (timestamp) தங்கள் முதல் சில பிட்களில் கொண்டிருக்கும். UUID v4 இல் அப்படி எதுவும் இல்லை. எனவே, UUID v4 மதிப்புகள் எந்த வரிசையிலும் தோன்றும் – அவை ஒன்றோடொன்று எந்தத் தொடர்பும் இல்லாமல் சீரற்ற முறையில் அமைக்கப்படுகின்றன.

இது ஒரு முக்கியமான விளைவைக் கொண்டுள்ளது: B-tree குறியீடுகளை துண்டாக்குதல் (index fragmentation). டேட்டாபேஸில் UUID v4 ஐ முதன்மை விசையாக (primary key) பயன்படுத்தினால், புதிய வரிசைகள் எங்கும் சேர்க்கப்படும் – வரிசைப்படுத்தப்பட்ட இறுதியில் மட்டும் அல்ல. இதனால் B-tree அடிக்கடி பிரித்தல் (splitting) மற்றும் மறுசீரமைப்பு (rebalancing) தேவைப்படுகிறது. நேரம் சார்ந்த UUID v7 அல்லது ULID இல், புதிய மதிப்புகள் பொதுவாக இறுதியில் சேர்க்கப்படுவதால், இந்த பிரச்சனை ஏற்படாது.

மோதல் நிகழ்தகவு (collision probability) மிகவும் குறைவு. 122 பிட்கள் சீரற்ற தன்மை என்பது 5.3 × 10³⁶ சாத்தியமான மதிப்புகளை உருவாக்குகிறது. ஒரு நொடிக்கு 1 பில்லியன் UUID களை உருவாக்கினாலும், மோதல் ஏற்பட 100 ஆண்டுகள் ஆகும். எனவே, நடைமுறை பயன்பாட்டில் மோதல் பற்றி கவலைப்பட தேவையில்லை.

122 பிட்கள் சீரற்ற தன்மை – எப்படி இயங்குகிறது

UUID v4 இன் அமைப்பு RFC 4122 இல் வரையறுக்கப்பட்டுள்ளது. பின்வரும் பிட்கள் நிலையானவை:

  • பதிப்பு பிட்கள் (version): 4-ஆம் பதிப்பைக் குறிக்க 4 பிட்கள் (0100 – பிட்கள் 13-16 இல்).
  • மாறுபாட்டு பிட்கள் (variant): RFC 4122 வடிவத்தைக் குறிக்க 2 பிட்கள் (10 – பிட்கள் 65-66 இல்).

மீதமுள்ள 122 பிட்கள் மட்டுமே சீரற்ற தன்மை கொண்டவை. இந்த 122 பிட்களை உருவாக்க, உலாவி crypto.getRandomValues() அல்லது crypto.randomUUID() போன்ற API களைப் பயன்படுத்துகிறது. இவை இயக்க முறைமையின் உண்மையான சீரற்ற எண் ஜெனரேட்டரை (CSPRNG) நம்பியுள்ளன. எனவே, எந்த ஒரு UUID v4 யும் யூகிப்பது கிட்டத்தட்ட சாத்தியமற்றது.

உதாரணமாக:

550e8400-e29b-41d4-a716-446655440000

இதில்:

  • 550e8400 – முதல் 8 ஹெக்ஸ் எழுத்துகள் (32 பிட்கள்)
  • e29b – அடுத்த 4 எழுத்துகள் (16 பிட்கள்)
  • 41d4 – அடுத்த 4 எழுத்துகள். இங்கு 4 என்பது பதிப்புப் பிட்கள் (4-ஆம் பதிப்பு)
  • a716 – அடுத்த 4 எழுத்துகள். இங்கு a (10xx) மாறுபாட்டுப் பிட்கள்
  • 446655440000 – இறுதி 12 எழுத்துகள் (48 பிட்கள்)

நீங்கள் uppercase விருப்பத்தை இயக்கினால், a என்பது A ஆகவும், b என்பது B ஆகவும் மாறும். Include hyphens ஐ முடக்கினால், மேலே உள்ள முழு சரமும் 550e8400e29b41d4a716446655440000 (32 எழுத்துகள்) ஆக மாறும்.

உள்ளீடுகள் மற்றும் வெளியீடுகள் – முழு விளக்கம்

உள்ளீடுகள்:

உள்ளீடு விளக்கம்
வடிவம் (Format) UUID v4, v7, ULID, நானோஐடி ஆகியவற்றிலிருந்து தேர்ந்தெடுக்கலாம்
எண்ணிக்கை (Count) 1 முதல் 100 வரை முழு எண். இவ்வரம்பு மட்டுமே ஏற்கப்படும்
பெரிய எழுத்துக்கள் (Uppercase) இயக்கினால், a–f எனும் ஹெக்ஸ் எழுத்துகள் A–F ஆக மாறும்
ஹைபன்கள் (Include hyphens) முடக்கினால், 32 எழுத்துகள் மட்டுமே காண்பிக்கப்படும்

வெளியீடுகள்:

  • உருவாக்கப்பட்ட UUID களின் பட்டியல், ஒரு வரியில் ஒன்றாக.
  • நிலைச் செய்தி: Ready. அல்லது Generated.
  • ஒரு UUID ஐ கிளிக் செய்தால், அது கிளிப்போர்டுக்கு நகலெடுக்கப்படும்.
  • Copy all பொத்தானை அழுத்தினால், Copied all! எனும் செய்தி காண்பிக்கப்படும்.

முக்கிய விதிகள்:

  • எந்த ஒரு விருப்பத்தையும் மாற்றினாலும், உடனடியாக அனைத்து UUID களும் மீண்டும் உருவாக்கப்படும்.
  • எண்ணிக்கை 1 மற்றும் 100 க்கு இடையில் மட்டுமே இருக்க வேண்டும்.
  • அனைத்து உருவாக்கமும் உலாவியில் நடைபெறுகிறது. சர்வருக்கு எந்தத் தகவலும் அனுப்பப்படுவதில்லை.

யாருக்கு இந்த கருவி தேவை

  1. பயன்பாட்டு மேம்பாட்டாளர்கள் (Application developers): பொருள்கள், அமர்வுகள் அல்லது நிகழ்வுகளுக்கு தனித்துவமான விசைகள் தேவைப்படும் இடத்தில். குறிப்பாக, பல சர்வர்கள் இணைந்து செயல்படும் அமைப்புகளில், மையப்படுத்தப்பட்ட இடத்தில் விசைகளை உருவாக்க முடியாத சூழ்நிலையில் UUID v4 மிகவும் பயனுள்ளது.

  2. டேட்டாபேஸ் வடிவமைப்பாளர்கள்: குறியீட்டுத் துண்டாக்குதல் பற்றி விழிப்புடன் இருப்பவர்கள். அவர்கள் UUID v4 ஐப் பயன்படுத்தினால், B-tree குறியீடுகள் வெகுவாக துண்டாக்கப்படும் என்பதை அறிந்திருப்பார்கள். இருப்பினும், விநியோகிக்கப்பட்ட அமைப்புகளில் மையப்படுத்தப்பட்ட விசை உருவாக்கம் சாத்தியமில்லாதபோது, UUID v4 ஒரு சிறந்த தேர்வாக இருக்கும்.

  3. பாதுகாப்பு பொறியாளர்கள் (Security engineers): API டோக்கன்கள், கோரிக்கை அடையாளங்காட்டிகள் – நேரம் சார்ந்த விசைகள் கசிவை ஏற்படுத்தக்கூடிய இடத்தில். UUID v4 இல் நேரம் சார்ந்த எந்தத் தகவலும் இல்லாததால், இது மிகவும் பாதுகாப்பானது.

  4. சோதனையாளர்கள் மற்றும் தரவு உருவாக்குநர்கள்: மாதிரி டேட்டாபேஸ்களை உண்மையான, தனித்துவமான விசைகளால் நிரப்ப வேண்டிய இடத்தில். ஒரே நேரத்தில் 100 UUID v4 களை உருவாக்கி, நகலெடுக்கும் வசதி இதற்கு மிகவும் பயனுள்ளது.

UUID v4 vs v7 – எப்போது எதைப் பயன்படுத்த வேண்டும்

அம்சம் UUID v4 UUID v7
நேர முத்திரை இல்லை உண்டு (மில்லி விநாடி துல்லியம்)
வரிசைப்படுத்துதல் சீரற்று நேர வரிசையில் (சுமார்)
B-tree துண்டாக்குதல் அதிகம் குறைவு
மறைத்தல் எண்ணிக்கைகளை மறைக்க உதவுகிறது எண்ணிக்கைகளை வெளிப்படுத்தலாம்
யூகிக்கும் தன்மை மிகவும் கடினம் நேர முத்திரையால் யூகிக்க முடியும்
விநியோகிக்கப்பட்ட அமைப்புகள் மிகவும் பொருத்தமானது மைய கடிகாரம் தேவை (அல்லது ஒருங்கிணைப்பு)

எப்போது UUID v4 ஐத் தேர்ந்தெடுக்க வேண்டும்:

  • உங்கள் பயன்பாட்டில் எத்தனை வரிசைகள் உள்ளன என்பதை மறைக்க விரும்பினால்.
  • விநியோகிக்கப்பட்ட அமைப்பில் மையப்படுத்தப்பட்ட நேர முத்திரை கிடைக்கவில்லை என்றால்.
  • பாதுகாப்பு காரணங்களுக்காக யூகிக்க முடியாத விசைகள் தேவைப்பட்டால்.

எப்போது UUID v7 ஐத் தேர்ந்தெடுக்க வேண்டும்:

  • B-tree குறியீட்டுத் துண்டாக்குதலைக் குறைக்க விரும்பினால்.
  • வரிசைகளை நேர வரிசையில் எளிதாகப் பெற விரும்பினால்.
  • உங்கள் எல்லா சர்வர்களுக்கும் ஒத்திசைந்த கடிகாரம் இருந்தால்.

FAQ – அடிக்கடி கேட்கப்படும் கேள்விகள்

1. UUID v4 இல் ஏன் 122 பிட்கள் மட்டுமே சீரற்றவை, முழு 128 பிட்களும் அல்ல? RFC 4122 படி, 6 பிட்கள் நிலையானவை – 4 பிட்கள் பதிப்புக்கும் (version = 4) மற்றும் 2 பிட்கள் மாறுபாட்டுக்கும் (variant = RFC 4122). இது UUID வெவ்வேறு பதிப்புகளை வேறுபடுத்த உதவுகிறது.

2. B-tree துண்டாக்குதல் எவ்வளவு தீவிரமானது? இது சார்ந்தது. சிறிய அட்டவணைகளில் (1 மில்லியன் வரிசைகள் வரை) இது பெரும்பாலும் கவனிக்கப்படாது. ஆனால் பல கோடி வரிசைகள் உள்ள அட்டவணைகளில், UUID v4 ஐ முதன்மை விசையாகப் பயன்படுத்தினால், B-tree இன் உயரம் அதிகரிக்கலாம் மற்றும் எழுதும் செயல்திறன் 30-50% வரை குறையலாம்.

3. UUID v4 மற்றும் UUID v7 மோதல் நிகழ்தகவு வேறுபடுகிறதா? இரண்டிலும் 122 பிட்கள் சீரற்ற தன்மை இருப்பதால், மோதல் நிகழ்தகவு ஒன்றுதான். v7 இல் நேர முத்திரை 48 பிட்களைப் பயன்படுத்துகிறது, எனவே சீரற்ற பிட்கள் 74 மட்டுமே. ஆனால் நேர முத்திரை மோதலைக் குறைக்க உதவுகிறது. ஒரே மில்லி விநாடியில் அதிகபட்சம் 2⁷⁴ (≈ 1.8 × 10²²) UUID v7 களை உருவாக்கினால் மட்டுமே மோதல் ஏற்படும்.

4. ஹைபன்களை நீக்குவதால் என்ன மாற்றம்? ஹைபன்கள் இல்லாமல், UUID 32 எழுத்துகள் கொண்ட சரமாக மாறும். இது URL களில் பயன்படுத்த ஏற்றது, ஏனெனில் ஹைபன்கள் URL குறியீட்டில் சிக்கலை ஏற்படுத்தலாம். ஆனால், இது UUID இன் நிலையான வடிவம் அல்ல – சில அமைப்புகள் ஹைபன்களை எதிர்பார்க்கலாம்.

5. உலாவியில் உருவாக்கப்படும் UUID கள் உண்மையிலேயே சீரற்றதா? ஆம். crypto.getRandomValues() மற்றும் crypto.randomUUID() ஆகியவை இயக்க முறைமையின் CSPRNG (Cryptographically Secure Pseudo-Random Number Generator) ஐப் பயன்படுத்துகின்றன. இது பாதுகாப்பு நோக்கங்களுக்கு போதுமான சீரற்ற தன்மையை வழங்குகிறது.

6. நான் எனது 100,000 வது UUID v4 ஐ உருவாக்கும்போது மோதல் ஏற்பட வாய்ப்பு உள்ளதா? கிட்டத்தட்ட இல்லை. 100,000 UUID களுக்கான மோதல் நிகழ்தகவு தோராயமாக (100,000)² / (2 × 2¹²²) ≈ 3.7 × 10⁻²⁶ – என்பது ஒரு லாட்டரி வெல்வதை விட பல கோடி மடங்கு குறைவு.