3 पॉइंट द्वारा GN⁺ 2024-08-27 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • UUID के अलग-अलग version

    • UUID Version 1 (v1): timestamp, monotonic counter, और MAC address से बनाया जाता है
    • UUID Version 2 (v2): security ID के लिए reserved है। इसके बारे में विस्तृत जानकारी ज्ञात नहीं है
    • UUID Version 3 (v3): दिए गए data के MD5 hash से बनाया जाता है। DNS और URL को candidate data के रूप में सुझाया गया है
    • UUID Version 4 (v4): पूरी तरह random data से बनाया जाता है। ज़्यादातर लोग UUID के रूप में इसी के बारे में सोचते हैं
    • UUID Version 5 (v5): दिए गए data के SHA1 hash से बनाया जाता है। v3 की तरह DNS और URL को candidate data के रूप में सुझाया गया है
    • UUID Version 6 (v6): timestamp, monotonic counter, और MAC address से बनाया जाता है। यह v1 वाला ही data है, लेकिन क्रम ऐसा बदला गया है कि creation time के अनुसार sort किया जा सके
    • UUID Version 7 (v7): timestamp और random data से बनाया जाता है
    • UUID Version 8 (v8): पूरी तरह user-defined हो सकता है (ज़रूरी version/variant field को छोड़कर)
  • कब उपयोग करें

    • v4: जब random ID चाहिए हो। default choice के रूप में अच्छा है
    • v7: जब sorting की ज़रूरत हो। उदाहरण के लिए, database key के रूप में उपयोग के लिए उपयुक्त है
    • v5 या v8: जब आप unique data को UUID में शामिल करना चाहते हों। ज़रूरत पड़ने पर आपको इसका पता चल जाएगा
  • अन्य version के बारे में विवरण

    • v7, v1 और v6 का बेहतर version है, इसलिए जहाँ संभव हो v7 का उपयोग करना अच्छा है। इस वजह से v1 या v6 आमतौर पर इस्तेमाल नहीं किए जाते
    • v2, security-संबंधित उपयोगों के लिए reserved है। अगर आप इसका उपयोग कर रहे हैं, तो संभव है कि आप उसके विवरण साझा न कर सकें
    • v3 को v5 ने replace कर दिया है। v5 अधिक मजबूत hash का उपयोग करता है

GN⁺ का सार

  • UUID के कई version हैं, और हर version को एक खास उपयोग के लिए डिज़ाइन किया गया है
  • v4 और v7 सबसे आम तौर पर उपयोग किए जाते हैं, जबकि v5 और v8 का उपयोग तब होता है जब data से जुड़ी विशेष आवश्यकताएँ हों
  • UUID का version चुनना उपयोग के उद्देश्य पर निर्भर करता है; sorting चाहिए तो v7, और random ID चाहिए तो v4 अच्छा विकल्प है
  • UUID के अलग-अलग version को समझने से प्रोजेक्ट के लिए सही UUID चुनने में मदद मिलती है

1 टिप्पणियां

 
GN⁺ 2024-08-27
Hacker News टिप्पणियाँ
  • UUID Version 2 (v2) security ID के लिए आरक्षित है, और इसके बारे में विस्तृत जानकारी ज़्यादा प्रसिद्ध नहीं है

    • क्योंकि RFC दस्तावेज़ काफ़ी अस्पष्ट तरीके से लिखा गया था
    • Open Group के दस्तावेज़ों को देखें तो और जानकारी मिल सकती है
    • "version 0" UUID भी मौजूद है, और इसने बाद में आने वाले दूसरे versions की compatibility में योगदान दिया
    • शोध के नतीजे GitHub पर देखे जा सकते हैं
  • UUID v2 की details RFC 9562 दस्तावेज़ में आसानी से मिल जाती हैं

    • यह DCE के हिस्से के रूप में परिभाषित है, और संबंधित लिंक पर क्लिक करने से details देखी जा सकती हैं
    • लिंक पर क्लिक करना महत्वपूर्ण है
  • UUID v7 का timestamp Databend में metadata files को जल्दी खोजने में उपयोगी है

    • AWS S3 पर काम की गति में काफ़ी सुधार होता है
    • संबंधित PR GitHub पर देखा जा सकता है
  • काश short UUID के लिए भी कोई standard होता

    • उदाहरण: 73WakrfVbNJBaAmhQtEeDv या bK7nP9xM
    • छोटे और आसानी से याद रहने वाले ID की ज़रूरत है
  • UUID2 का उद्देश्य समझना मुश्किल है

    • Xandr में personal data deletion request करते समय ही UUID2 से सामना हुआ
    • Wikipedia पेज पढ़ने के बाद भी यह समझना कठिन है कि UUID के इतने अलग-अलग प्रकारों की ज़रूरत क्यों है
    • यह जिज्ञासा है कि क्या Mac code के साथ मिश्रण UUID2 की randomness बढ़ाने के लिए है, या कोई और वजह है
    • privacy के लिए बहुत लंबे identifiers इस्तेमाल करने हों तो duplicate न होने वाले UUID का उपयोग किया जा सकता है
  • UUID v4 मूल रूप से सिर्फ़ एक random byte generator है

    • hyphen, version जानकारी आदि हटाकर सीधे random bytes बनाना ज़्यादा efficient है
  • MAC-आधारित versions का उपयोग नहीं करना चाहिए

    • सैद्धांतिक रूप से v4 और v7 को छोड़कर बाकी सभी versions इस श्रेणी में आते हैं
    • खासकर v1 सबसे खराब है, और v3 का MD5 भी बहुत कमज़ोर है
  • SHA256 डेटा और counter का उपयोग करने वाला UUID उपयोगी हो सकता है

    • इसे PBKDF2 जैसी पद्धति में privacy-सुरक्षित identifier के रूप में इस्तेमाल किया जा सकता है
  • v7 का उपयोग करना बेहतर है

    • security experts इसका विरोध कर सकते हैं
  • यह पढ़ने में दिलचस्प था

    • हर दिन कुछ नया सीखने को मिलता है