ما الذي تفعله الأداة
تنشئ هذه الأداة معرّفات ULID في متصفحك. ULID معرّف من 128 بت مثل UUID، لكنه يُكتب بـ 26 حرفًا ويُرتَّب حسب وقت إنشائه. وهذا يجعل ULID مناسبًا للمفاتيح الأساسية في قواعد البيانات، ومعرّفات الأحداث والسجلات، وأسماء الملفات، وأي شيء آخر تريد عرضه بترتيب الإنشاء دون عمود منفصل للطابع الزمني.
يتكوّن ULID من جزأين:
- الطابع الزمني (أول 10 أحرف): المللي ثواني منذ Unix epoch، بطول 48 بت. ويكفي حتى عام 10889.
- العشوائية (آخر 16 حرفًا): 80 بت من مولّد الأعداد العشوائية التشفيري في المتصفح.
يستخدم ULID أبجدية Crockford Base32 0123456789ABCDEFGHJKMNPQRSTVWXYZ. وهي تستبعد I وL وO وU كي تكون المعرّفات سهلة القراءة بصوت عالٍ وصعبة الخطأ عند الكتابة، ولا تحتوي على أحرف تحتاج إلى تهريب في عناوين URL.
طريقة الاستخدام
- اختر عدد المعرّفات التي تحتاجها، من 1 إلى 1000.
- فعّل رتيب إذا كان يجب أن تحافظ المعرّفات على ترتيبها حتى عند إنشاء عدة معرّفات في المللي ثانية نفسها. عندها يُزاد الجزء العشوائي بمقدار واحد لكل معرّف جديد.
- فعّل أحرف صغيرة إذا كان نظامك يخزّن المعرّفات بأحرف صغيرة. معرّفات ULID غير حساسة لحالة الأحرف، وصيغتها المعيارية بأحرف كبيرة.
- انسخ القائمة أو نزّلها كملف نصي. اضغط «توليد» مرة أخرى للحصول على دفعة جديدة.
مثال
01ARZ3NDEKTSV4RRFFQ69G5FAV
هنا 01ARZ3NDEK هو الطابع الزمني 1469922850259 (2016-07-30 23:54:10.259 UTC)، وTSV4RRFFQ69G5FAV هو الجزء العشوائي. يتشارك معرّفا ULID أُنشئا بفارق ثانية واحدة أحرفهما الأولى القليلة، ولهذا يضعهما الترتيب النصي العادي بالترتيب الزمني.
مقارنة ULID بـ UUID
ينثر UUID v4 العشوائي الصفوف الجديدة في أنحاء فهرس B-tree، مما يبطئ عمليات الإدراج في الجداول الكبيرة. أما ULID فتتزايد في الغالب، لذا تقع الصفوف الجديدة في نهاية الفهرس كما يحدث مع عدد صحيح ذاتي الزيادة، مع بقائها فريدة عبر الأجهزة دون تنسيق. والمقابل أن ULID يكشف تقريبًا وقت إنشائه. إذا كان ذلك مهمًا، فاستخدم UUID v4.
الأسئلة الشائعة
› ما ULID؟
ULID (Universally Unique Lexicographically Sortable Identifier) معرّف من 128 بت يُكتب بـ 26 حرفًا من ترميز Crockford Base32. تُرمّز الأحرف العشرة الأولى طابعًا زمنيًا بالمللي ثانية، والأحرف الستة عشر الأخيرة عشوائية.
› ULID أم UUID: أيهما أستخدم؟
استخدم ULID عندما تريد معرّفات تُرتَّب حسب وقت الإنشاء، مثل مفاتيح قواعد البيانات أو معرّفات السجلات. واستخدم UUID v4 عندما يجب ألا يكشف المعرّف وقت إنشائه. ويُعد UUID v7 بديلًا قياسيًا مرتّبًا زمنيًا أيضًا.
› ماذا يفعل الوضع الرتيب؟
تحصل المعرّفات المُنشأة في المللي ثانية نفسها عادةً على أجزاء عشوائية مستقلة، لذا يكون ترتيبها داخل تلك المللي ثانية عشوائيًا. أما في الوضع الرتيب فيُزاد الجزء العشوائي بمقدار واحد بدلًا من ذلك، فيأتي كل معرّف في الدفعة بعد سابقه تمامًا عند الترتيب.
› هل تُنشأ المعرّفات بشكل آمن؟
نعم. يأتي الجزء العشوائي من مولّد الأعداد العشوائية التشفيري في المتصفح، ولا يُرسل أي شيء إلى خادم.