यूएलआईडी जेनरेटर
ULIDs (सार्वभौमिक रूप से अद्वितीय लेक्सिकोग्राफिक रूप से सॉर्ट करने योग्य पहचानकर्ता) उत्पन्न करें। 26 वर्ण, यूआरएल-सुरक्षित, समय-सॉर्ट करने योग्य और यूयूआईडी के साथ संगत।
ULID जनरेट करें
सॉर्ट करने योग्य अद्वितीय पहचानकर्ता बनाएं
जेनरेट किए गए यूएलआईडी
अद्वितीय पहचानकर्ता बनाने के लिए "यूएलआईडी जनरेट करें" पर क्लिक करें
अक्सर पूछे जाने वाले प्रश्न
What is a ULID?
एक 26-वर्ण का पहचानकर्ता जिसमें 48-बिट मिलीसेकंड टाइमस्टैम्प और 80 बिट यादृच्छिकता समाहित होती है, जिससे आईडी बनने के समय के अनुसार क्रमबद्ध हो जाती हैं।
UUID की तुलना में ULID क्यों चुनें?
ULIDs समय के अनुसार लेक्सिकोग्राफिक रूप से क्रमबद्ध होते हैं, अपेक्षाकृत छोटे होते हैं, और यूआरएल-सुरक्षित Crockford base32 का उपयोग करते हैं जिसमें कोई हाइफ़न प्रबंधित करना नहीं पड़ता।
Can I trust the ordering?
अलग-अलग मिलीसेकंड के बीच, हाँ। एक ही मिलीसेकंड के भीतर दो ULIDs के बीच क्रम की गारंटी नहीं होती।
क्या ULIDs वहाँ भी काम करते हैं जहाँ UUIDs का उपयोग किया जाता है?
ये अधिकांश स्ट्रिंग कॉलम और APIs में सीधे उपयोग किए जा सकते हैं, और जब दोनों फ़ॉर्मैट का साथ में रहना ज़रूरी हो, तब ULID और UUID के बीच रूपांतरण करना आसान होता है।
एक ULID की लंबाई कितनी होती है और यह कौन से वर्णों का उपयोग करती है?
हर ULID ठीक 26 वर्णों की होती है जो Crockford Base32 का उपयोग करती है, जिसमें अंक 0-9 और अक्षर A-Z शामिल हैं, सिवाय I, L, O और U के। यह निश्चित लंबाई डेटाबेस कॉलम के आकार को अनुमानित रखती है और जब IDs को ज़ोर से पढ़ा या मैन्युअल रूप से टाइप किया जाता है, तो अस्पष्ट वर्णों से बचाती है।
क्या ULIDs का उपयोग यूआरएल और फ़ाइल नामों में सुरक्षित है?
हाँ। ULIDs में केवल बड़े अक्षर और अंक होते हैं, कोई हाइफ़न, स्लैश या प्रतीक नहीं, इसलिए वे बिना परसेंट-एनकोडिंग के यूआरएल, पाथ सेगमेंट और फ़ाइल नामों से आसानी से गुज़र जाते हैं। 26-वर्ण की लंबाई रूट पैटर्न और लॉग लाइनों में भी आराम से फिट हो जाती है।
एक ही मिलीसेकंड में कितनी ULIDs उत्पन्न की जा सकती हैं?
80-बिट रैंडम अनुभाग प्रति मिलीसेकंड लगभग 2^80 मान प्रदान करता है, जिससे टकराव (collision) व्यावहारिक रूप से असंभव हो जाता है। यदि आपका एप्लिकेशन एक मिलीसेकंड में कई IDs बनाता है, तो मोनोटोनिक मोड का उपयोग करें, जो रैंडम भाग को एक से बढ़ाता है ताकि सॉर्ट क्रम बना रहे।
मैं ULID से टाइमस्टैम्प कैसे पढ़ूँ?
पहले 10 वर्ण Unix टाइमस्टैम्प को मिलीसेकंड में एनकोड करते हैं, जबकि शेष 16 वर्ण रैंडम होते हैं। उन 10 वर्णों को Crockford Base32 से एक संख्या में डिकोड करें, फिर किसी भी Unix टाइमस्टैम्प टूल से इसे रूपांतरित करें ताकि सटीक निर्माण समय प्राप्त हो सके।
ULID संरचना
प्रत्येक ULID में दो भाग होते हैं: टाइमस्टैम्प और यादृच्छिकता
01ARZ3NDEKTSV4RRFFQ69G5FAV
उदाहरण: यह ULID एक विशिष्ट मिलीसेकंड पर उत्पन्न हुआ था और इसमें 80 बिट्स यादृच्छिकता शामिल है
टाइमस्टैम्प (48 बिट्स)
यूनिक्स युग (1970-01-01) के बाद से मिलीसेकंड। समय-क्रमित छँटाई प्रदान करता है और 10889 ईस्वी तक रहता है।
यादृच्छिकता (80 बिट्स)
क्रिप्टोग्राफिक रूप से सुरक्षित यादृच्छिक मान। प्रति मिलीसेकंड 1.21 क्विंटिलियन अद्वितीय आईडी प्रदान करता है।
तकनीकी निर्देश
ULID को क्रमबद्ध करने योग्य, URL-सुरक्षित और UUIDs के साथ संगत बनाने के लिए डिज़ाइन किया गया है
सुविधाऐं
- क्रिप्टोग्राफिक रूप से सुरक्षित यादृच्छिकता
- केवल क्लाइंट-साइड जनरेशन
- लेक्सिकोग्राफिक रूप से सॉर्ट करने योग्य
- कोई विशेष वर्ण नहीं (URL-सुरक्षित)
विशेष विवरण
- 26 वर्ण (128 बिट्स)
- क्रॉकफोर्ड का बेस 32 एन्कोडिंग
- 48-बिट टाइमस्टैम्प + 80-बिट यादृच्छिकता
- 1.21M आईडी प्रति मिलीसेकंड
संदर्भ और संसाधन
-
ULID Specification - GitHub
क्रमबद्ध करने योग्य ULID स्पेसिफिकेशन — टाइमस्टैम्प-उपसर्ग वाले यूनीक आइडेंटिफ़ायर।
-
Universally Unique Identifier - Wikipedia
यूनिवर्सली यूनीक आइडेंटिफ़ायर और उनके वेरिएंट का सामान्य संदर्भ।