UUID क्या हैं?
UUID (सार्वभौमिक रूप से अद्वितीय पहचानकर्ता) एक मानकीकृत पहचानकर्ता प्रारूप है जिसे स्थान और समय में वैश्विक रूप से अद्वितीय होने के लिए डिज़ाइन किया गया है। UUID 128-बिट मान होते हैं जिन्हें आमतौर पर 32 हेक्साडेसिमल अंकों के रूप में प्रदर्शित किया जाता है, जो हाइफ़न द्वारा अलग किए गए पाँच समूहों में दिखाए जाते हैं: 123e4567-e89b-12d3-a456-426614174000
.
UUID RFC 9562 मानक द्वारा परिभाषित हैं (जो पिछले RFC 4122 को अप्रचलित करता है) और कंप्यूटिंग प्लेटफार्मों में जानकारी की पहचान के लिए उपयोग किए जाते हैं बिना केंद्रीकृत पंजीकरण या समन्वय की आवश्यकता के।
UUID प्रारूप
सभी UUID एक सामान्य प्रारूप साझा करते हैं जिसमें 36 वर्ण होते हैं (32 हेक्साडेसिमल अंक और 4 हाइफ़न) जो इस पैटर्न में व्यवस्थित होते हैं:
xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx
जहाँ:
x
कोई भी हेक्साडेसिमल अंक (0-9, a-f) हो सकता हैM
UUID संस्करण (1-7) को दर्शाता हैN
UUID वेरिएंट को दर्शाता है (आमतौर पर आधुनिक UUID के लिए 8, 9, A, या B)
UUID संस्करणों की तुलना
Version | Name | उत्पादन विधि | Time-ordered | उपयोग के मामले |
---|---|---|---|---|
UUID v1 | Timestamp | वर्तमान टाइमस्टैम्प + नोड ID (MAC) | हाँ (आंशिक रूप से) | लॉगिंग, वितरित सिस्टम |
UUID v3 | नाम-आधारित (MD5) | नामस्थान + नाम का MD5 हैश | No | एक ही इनपुट के लिए सुसंगत ID |
UUID v4 | Random | यादृच्छिक या छद्म-यादृच्छिक संख्याएँ | No | सामान्य प्रयोजन, सबसे आम |
UUID v5 | नाम-आधारित (SHA-1) | नामस्थान + नाम का SHA-1 हैश | No | मजबूत हैश के साथ सुसंगत ID |
UUID v6 | पुनः क्रमबद्ध टाइमस्टैम्प | टाइमस्टैम्प (क्रमबद्ध करने के लिए व्यवस्थित) | Yes | डेटाबेस कुंजी, समय-क्रमबद्ध रिकॉर्ड |
UUID v7 | Unix Epoch टाइमस्टैम्प | Unix टाइमस्टैम्प + यादृच्छिक डेटा | Yes | आधुनिक क्रमबद्ध पहचानकर्ता |
निल UUID | शून्य UUID | सभी शून्य | N/A | विशेष मान, अनइनिशियलाइज़्ड मार्कर |
UUID के लाभ
- कोई समन्वय आवश्यक नहीं: केंद्रीय समन्वय के बिना ID उत्पन्न करें
- वैश्विक अद्वितीयता: अत्यंत कम टकराव संभावना
- निश्चित लंबाई: सुसंगत 36 वर्ण स्ट्रिंग प्रतिनिधित्व
- Cross-Platform: लगभग सभी प्रोग्रामिंग भाषाओं में समर्थित
- Versatile: विभिन्न उपयोग मामलों के लिए विभिन्न संस्करण
गैर-मानक UUID विकल्प
ID प्रकार | Description | Advantages | Disadvantages |
---|---|---|---|
GUID | Microsoft का UUID कार्यान्वयन | UUID के समान कार्यात्मक | पुराने सिस्टम में कुछ कार्यान्वयन अंतर |
ULID | सार्वभौमिक रूप से अद्वितीय वर्णानुक्रमिक रूप से क्रमबद्ध पहचानकर्ता | वर्णानुक्रमिक रूप से क्रमबद्ध, टाइमस्टैम्प पहले, केस-इंसेंसिटिव | नया, कम व्यापक अपनाना |
स्नोफ्लेक ID | Twitter का वितरित ID सिस्टम | समय-क्रमबद्ध, संकुचित (64-बिट) | केंद्रीय समन्वय आवश्यक |
CUID/CUID2 | टकराव-प्रतिरोधी ID | छोटा, क्लाइंट-साइड उत्पादन के लिए उपयुक्त | आधिकारिक मानक नहीं |
Nano ID | छोटा, सुरक्षित, URL-अनुकूल अद्वितीय स्ट्रिंग ID जनरेटर | UUID से छोटा, विन्यास योग्य वर्णमाला | मानकीकृत नहीं |
छोटा UUID | मानक UUID का छोटा एन्कोडिंग | अधिक संकुचित प्रतिनिधित्व | मानक UUID में रूपांतरण आवश्यक |
निल UUID | सभी बिट्स शून्य वाले UUID | विशेष अर्थपूर्ण | अद्वितीय नहीं (विशेष मान के रूप में उपयोग किया जाता है) |
Minecraft UUID | हाइफ़न के साथ या बिना UUID | मानक UUID के साथ संगत | केवल स्वरूपण अंतर |
व्यावहारिक अनुप्रयोग
- डेटाबेस प्राथमिक कुंजी: विशेष रूप से वितरित या प्रतिकृत डेटाबेस में
- वितरित सिस्टम: कई सिस्टम में संस्थाओं की पहचान करें
- वेब अनुप्रयोग: सत्र पहचानकर्ता, गुमनाम उपयोगकर्ताओं का ट्रैकिंग
- सामग्री प्रबंधन: दस्तावेज़ और मीडिया पहचानकर्ता
- APIs: अनुरोध और लेन-देन पहचानकर्ता ट्रेसिंग और डिबगिंग के लिए
- इंटरनेट ऑफ थिंग्स: केंद्रीय पंजीकरण के बिना डिवाइस पहचान
- डेटा सिंक्रोनाइज़ेशन: कई डेटा स्टोर में रिकॉर्ड की पहचान
- सॉफ्टवेयर लाइसेंसिंग: अद्वितीय उत्पाद या लाइसेंस कुंजी