یو ایل آئی ڈی جنریٹر
ULIDs (یونیورسل یونیکلی لیکسیکوگرافیکل سورٹیبل شناخت کنندگان) تیار کریں۔ 26 کریکٹرز، یو آر ایل سے محفوظ، وقت کے لحاظ سے ترتیب دینے والا، اور UUIDs کے ساتھ مطابقت رکھنے والا۔
یو ایل آئی ڈی جنریٹ کریں
قابل ترتیب منفرد شناخت کنندگان بنائیں
تیار کردہ ULIDs
منفرد شناخت کنندگان بنانے کے لیے "Generate ULIDs" پر کلک کریں
اکثر پوچھے گئے سوالات
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 نہیں۔ یہ مقررہ لمبائی ڈیٹا بیس کالم کا سائز متعین رکھتی ہے اور جب شناخت کنندگان زبان سے پڑھے جائیں یا دستی طور پر ٹائپ کیے جائیں تو الجھن پیدا کرنے والے کریکٹرز سے بچاتی ہے۔
کیا ULIDs کو یو آر ایل اور فائل کے ناموں میں استعمال کرنا محفوظ ہے؟
جی ہاں۔ ULIDs میں صرف بڑے حروف اور ہندسے ہوتے ہیں، کوئی ہائفن، سلیش یا علامت نہیں، اس لیے یہ percent-encoding کے بغیر یو آر ایل، پاتھ سگمنٹس اور فائل کے ناموں سے گزر جاتے ہیں۔ 26 کریکٹرز کی لمبائی روٹ پیٹرنز اور لاگ لائنز میں بھی آرام سے فٹ ہو جاتی ہے۔
ایک ہی ملی سیکنڈ میں کتنے ULIDs تیار کیے جا سکتے ہیں؟
80-بٹ بے ترتیب حصہ فی ملی سیکنڈ تقریباً 2^80 اقدار فراہم کرتا ہے، جس سے تصادم عملاً ناممکن ہو جاتا ہے۔ اگر آپ کی ایپلیکیشن ایک ملی سیکنڈ کے اندر کئی IDs بناتی ہے تو مونوٹونک موڈ استعمال کریں، جو بے ترتیب حصے کو ایک بڑھا دیتا ہے تاکہ ترتیب برقرار رہے۔
میں ULID سے ٹائم اسٹیمپ کیسے پڑھوں؟
پہلے 10 کریکٹرز یونکس ٹائم اسٹیمپ کو ملی سیکنڈز میں انکوڈ کرتے ہیں، جبکہ باقی 16 کریکٹرز بے ترتیب ہوتے ہیں۔ ان 10 کریکٹرز کو Crockford Base32 سے ڈی کوڈ کر کے ایک عدد بنائیں، پھر کسی بھی یونکس ٹائم اسٹیمپ ٹول سے اسے تبدیل کریں تاکہ تخلیق کا درست وقت معلوم ہو سکے۔
ULID ساخت
ہر ULID دو حصوں پر مشتمل ہوتا ہے: ٹائم اسٹیمپ اور بے ترتیبی
01ARZ3NDEKTSV4RRFFQ69G5FAV
مثال: یہ ULID ایک مخصوص ملی سیکنڈ پر تیار کیا گیا ہے اور اس میں 80 بٹس کی بے ترتیبی شامل ہے
ٹائم اسٹیمپ (48 بٹس)
یونکس کے دور (1970-01-01) کے بعد ملی سیکنڈز۔ وقت کے مطابق ترتیب دینے کی سہولت فراہم کرتا ہے اور 10889 عیسوی تک جاری رہتا ہے۔
بے ترتیبی (80 بٹس)
کرپٹوگرافک طور پر محفوظ رینڈم ویلیو۔ فی ملی سیکنڈ 1.21 کوئنٹیلین منفرد IDs فراہم کرتا ہے۔
تکنیکی خصوصیات
ULID کو ترتیب دینے، URL محفوظ اور UUIDs کے ساتھ مطابقت رکھنے کے لیے ڈیزائن کیا گیا ہے
خصوصیات
- کرپٹوگرافک طور پر محفوظ بے ترتیبی
- صرف کلائنٹ سائیڈ جنریشن
- لغوی طور پر ترتیب پذیر
- کوئی خاص حروف نہیں (یو آر ایل محفوظ ہے)
تفصیلات
- 26 حروف (128 بٹس)
- کروک فورڈ کی Base32 انکوڈنگ
- 48-بٹ ٹائم اسٹیمپ + 80-بٹ بے ترتیبی
- 1.21 ملین آئی ڈیز فی ملی سیکنڈ
حوالہ جات اور وسائل
-
ULID Specification - GitHub
قابلِ ترتیب ULID اسپیسیفیکیشن — ٹائم اسٹیمپ سے شروع ہونے والی منفرد شناختیں۔
-
Universally Unique Identifier - Wikipedia
UUID اور اس کی مختلف اقسام پر عمومی حوالہ۔