كثيرًا ما يُستخدَم UUID (Universally Unique Identifier) وGUID (Globally Unique Identifier) بالتبادل في المحادثات التقنية، وللأغراض العملية هما فعلًا قابلان للتبادل. GUID هو مصطلح Microsoft لتطبيقها على UUID، الذي يتّبع نفس معيار RFC 4122. الفرق إلى حدٍّ كبير تاريخي ومصطلحي، وليس تقنيًا.
فهم الإصدارات المختلفة من UUID
- UUIDv1: مبني على الوقت + عنوان MAC — يمكن تتبّعه إلى الجهاز الذي أنشأه
- UUIDv3: مبني على الاسم باستخدام MD5 — حتمي لنفس المدخلات
- UUIDv4: مبني على العشوائية — الأكثر استخدامًا، غير قابل للتنبؤ
- UUIDv5: مبني على الاسم باستخدام SHA-1 — حتمي لنفس المدخلات
- UUIDv7: مبني على الوقت الرتيب + العشوائية — قابل للترتيب، مناسب للمفاتيح الأساسية في قواعد البيانات
متى تستخدم UUIDv4 مقابل UUIDv7؟
UUIDv4 هو الخيار الافتراضي الجيد لمعظم حالات الاستخدام: رموز الجلسة ومعرّفات API والمعرّفات التي لا تحتاج إلى ترتيب. أما UUIDv7 فهو أنسب لمفاتيح قواعد البيانات الأساسية لأن طبيعته القابلة للترتيب تتجنّب تجزئة صفحات B-tree التي تحدث مع UUIDs العشوائية — وهي مشكلة أداء كبيرة في قواعد البيانات الضخمة. تم تقنين UUIDv7 في RFC 9562 (2024).
UUID مقابل المعرّفات ذاتية الزيادة: أيهما تختار؟
المعرّفات ذاتية الزيادة (1، 2، 3...) أصغر وأسهل للقراءة البشرية وأفضل أداءً في قواعد البيانات المركزية. تُعدّ UUIDs ضرورية للأنظمة الموزّعة حيث تُولّد عدة خوادم معرّفات في وقت واحد، وعند كشف المعرّفات في عناوين URL العامة (UUIDs لا تكشف حجم البيانات كالمعرّفات التسلسلية)، وعند دمج بيانات من قواعد بيانات متعددة.