توليد معرفات فريدة دون قاعدة بيانات مركزية
تحتاج اختبارات التكامل وبذور قواعد البيانات وواجهات API التجريبية والأنظمة الموزعة جميعها إلى معرفات لن تتصادم. يوفر UUID تفرداً عملياً باستخدام بتات عشوائية بدلاً من عداد تسلسلي مشترك، مما يجعله مثالياً للحالات التي ينشئ فيها عدة منتجين سجلات بشكل مستقل.
يصف هذا الدليل تنسيق UUID الإصدار 4، ويشرح ما تعنيه بتات الإصدار والنسخة، ويحذر من أن التفرد لا يعني التفويض. يتضمن مولداً سريعاً عبر الإنترنت لإنتاج معرف واحد أو عدة معرفات للاختبارات والنماذج الأولية.
مولّد UUID: الطريقة والافتراضات
UUID هو معرف 128 بت يعرض في خمس مجموعات من أحرف سداسية عشرية تفصلها شرطات. تستخدم UUID العشوائية بتات الإصدار والنسخة في مواضع ثابتة، وتولد البتات الباقية عشوائياً. الهدف هو تفرد عملي دون تنسيق مع تسلسل مركزي.
تتبع الطريقة تنسيق UUID الحالي الموضح في RFC 9562، بما في ذلك تمثيل الأحرف السداسية والشرطات المعروف.
مثال قابل للتحقق باستخدام مولّد UUID
تأخذ UUID الإصدار 4 شكلاً مثل xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx، حيث يشير الرقم 4 إلى الإصدار، ويمثل y إحدى قيم النسخة المسموحة. تعامل مع كل قيمة كمعرف مبهم لا كرقم له معنى ترتيبي.
مجموعة القواعد: نص UUID = مجموعات أحرف سداسية 8-4-4-4-12. يثبت الإصدار 4 خانة الإصدار على 4 ويستخدم بيانات عشوائية في المواضع الباقية المسموحة.
مواضع تحتاج إلى عناية إضافية في مولّد UUID
تقلل UUID خطر التصادم لكنها لا تصنع قرارات التفويض. لا تعرض سجلات حساسة لمجرد أن المعرف صعب التخمين. تفضل بعض قواعد البيانات إصدارات مرتبة زمنياً للفهرسة، بينما UUID العشوائية بسيطة ومدعومة على نطاق واسع.
استخدم سياسة المعرفات الخاصة بنظام الإنتاج للمتطلبات الأمنية أو قواعد البيانات أو الامتثال الحقيقية. وانتبه إلى خطأ متكرر: التعامل مع UUID التجريبية كأنها ذات معنى أو مرتبة أو مضمونة من جهة مركزية.
فحوص قبل اعتماد النتيجة
- عدد المعرفات المطلوبة للاختبارات أو البيانات التجريبية أو الأمثلة أو السجلات المؤقتة.
- استخدم سياسة المعرفات الخاصة بنظام الإنتاج للمتطلبات الأمنية أو قواعد البيانات أو الامتثال الحقيقية.
- UUID معرف وليس سراً أو كلمة مرور أو رمز وصول.
- وسم المعرفات المولدة كبيانات تجريبية عند مشاركة الأمثلة.
- استخدم أدوات JSON عند إضافة المعرفات إلى حمولات عينة منظمة.
مصادر مولّد UUID
- RFC 9562: المعرفات الفريدة عالمياً
RFC Editor
يعرف صيغة UUID وبتات الإصدار والنوع والبنية ذات 128 بت المذكورة في المقال.
- Crypto.randomUUID()
توثيق MDN Web Docs
يوثق واجهة المتصفح التي تولد UUID من الإصدار الرابع باستخدام مصدر عشوائي آمن تشفيرياً.
استخدم مولّد UUID من TOOLFINA
أدخل عدد المعرفات المطلوبة في مولد UUID من TOOLFINA وأنشئها ضمن حد الأداة. انسخ كل معرف في سطر للاختبارات والبيانات التجريبية والسجلات المؤقتة وتجارب التكامل.
المدخلات: عدد UUID المطلوب توليده. المخرجات: سلسلة UUID واحدة أو أكثر. لا تخزن الأداة المعرفات الصادرة ولا تضمن ترتيب إدخال مناسباً لقواعد البيانات.
تُنشأ المعرفات محلياً ولا تخزن. يولد المتصفح معرفات بنمط UUID باستخدام قيم عشوائية مناسبة لاختبارات عادية.
جرّب هذه الأداة
أنشئ معرّفات UUID v4 داخل المتصفح.
مولّد UUID